django one to many model and how to implement it at the front end
- 2021-07-26 08:33:53
- OfStack
models.py
class xm(models.Model):
xmID=models.AutoField(primary_key=True)
xmTitle=models.CharField(' Project title ',max_length=50)
xmDate=models.DateField(' Time ',auto_now_add=True)
class Meta:
db_table="std_web_xm"
verbose_name=" Project overview "
verbose_name_plural=verbose_name
def __unicode__(self):
return self.title
def __str__(self):
# Cast to int Type
return str(self.xmID)# In order to make in xadmin Success in the xmID
class xmProgress(models.Model):
xmProgress_ID=models.AutoField(primary_key=True)
xmProgress = models.CharField(' Project progress ', max_length=50, blank=True)
xmDesc = models.CharField(' Details ', max_length=50, blank=True)
# Associated primary key xmID Cascade deletion
cid=models.ForeignKey("xm",on_delete=models.CASCADE)
xmProgress_Date=models.DateField(' Update time ',auto_now_add=True)
class Meta:
db_table="std_web_xmProgress"
verbose_name=" Project details "
verbose_name_plural=verbose_name
def __unicode__(self):
return self.title
Register in 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})
Front end code
{% 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 %}