首页 > 编程 > Python > 正文

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

2019-11-25 12:14:35
字体:
来源:转载
供稿:网友

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 %}

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表