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

Related articles: