django一对多模型以及如何在前端实现详解
models.py
classxm(models.Model):
xmID=models.AutoField(primary_key=True)
xmTitle=models.CharField('项目标题',max_length=50)
xmDate=models.DateField('时间',auto_now_add=True)
classMeta:
db_table="std_web_xm"
verbose_name="项目概况"
verbose_name_plural=verbose_name
def__unicode__(self):
returnself.title
def__str__(self):
#强制转换为int类型
returnstr(self.xmID)#为了使在xadmin中成功显示为xmID
classxmProgress(models.Model):
xmProgress_ID=models.AutoField(primary_key=True)
xmProgress=models.CharField('项目进展',max_length=50,blank=True)
xmDesc=models.CharField('详情',max_length=50,blank=True)
#关联主键xmID,级联删除
cid=models.ForeignKey("xm",on_delete=models.CASCADE)
xmProgress_Date=models.DateField('更新时间',auto_now_add=True)
classMeta:
db_table="std_web_xmProgress"
verbose_name="项目详情"
verbose_name_plural=verbose_name
def__unicode__(self):
returnself.title
注册到adminx.py中
classXmAdmin(object):
list_display=['xmTitle','xmDate']
#style_fields={"xmContent":"ueditor"}
classXmProgressAdmin(object):
list_display=['cid','xmProgress','xmProgress_Date','xmDesc']
xadmin.site.register(xm,XmAdmin)
xadmin.site.register(xmProgress,XmProgressAdmin)
views.py
defxm_detail(request,xmID):
xm_detail=xm.objects.get(pk=xmID)
xmProgress_detail=xmProgress.objects.filter(cid=xm_detail)
returnrender(request,'xmgk/xmgk_detail.html',{'xmProgress_detail':xmProgress_detail,'xm_detail':xm_detail})
前端代码
{%forlineinxmProgress_detail%}
{{line.xmProgress_Date|date:"Y-m-d"}}
{{line.xmProgress}}
{{line.xmDesc}}
{%endfor%}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。