django一对多模型以及如何在前端实现详解

时间:2021-05-23

models.py

class xm(models.Model): xmID=models.AutoField(primary_key=True) xmTitle=models.CharField('项目标题',max_length=50) xmDate=models.DateField('时间',auto_now_add=True) class Meta: db_table="std_web_xm" verbose_name="项目概况" verbose_name_plural=verbose_name def __unicode__(self): return self.title def __str__(self): #强制转换为int类型 return str(self.xmID)#为了使在xadmin中成功显示为xmIDclass xmProgress(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)class Meta: db_table="std_web_xmProgress" verbose_name="项目详情" verbose_name_plural=verbose_name def __unicode__(self): return self.title

注册到adminx.py中

class XmAdmin(object): list_display = ['xmTitle','xmDate'] #style_fields = {"xmContent": "ueditor"}class XmProgressAdmin(object): list_display=['cid','xmProgress','xmProgress_Date','xmDesc']xadmin.site.register(xm,XmAdmin)xadmin.site.register(xmProgress,XmProgressAdmin)

views.py

def xm_detail(request,xmID): xm_detail=xm.objects.get(pk=xmID) xmProgress_detail=xmProgress.objects.filter(cid=xm_detail) return render(request,'xmgk/xmgk_detail.html',{'xmProgress_detail':xmProgress_detail,'xm_detail':xm_detail})

前端代码

{% for line in xmProgress_detail %}<tr> <td>{{ line.xmProgress_Date|date:"Y-m-d" }}</td> <td>{{ line.xmProgress }}</td> <td>{{ line.xmDesc }}</td></tr>{% endfor %}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章