无法访问html模板DJANGO中的外键元素



视图:

def search_devis(request):
devis = Devis.objects.all()
commercial = User.objects.all()
client = Client.objects.all()
context={
'devis': devis,
'commercial': commercial,
'client_': client,
}
return render(request, "manage_devis/search_devis.html",context )

型号:

class Devis(models.Model):
titre = models.CharField(max_length=30, )
date_ecriture = models.DateField(auto_now_add=True)
date_expiration = models.DateField()
client = models.ForeignKey(Client, name="CLIENT_FK", default=1 ,on_delete=models.SET_DEFAULT)
total = models.DecimalField(max_digits=10, decimal_places=2)
commercial = models.ForeignKey(User, name="COMMERCIALFK", default=1 ,on_delete=models.SET_DEFAULT)
def __str__(self):
return "DV"+str(self.pk)

模板:

{% for devis_ in devis %}
<tr>
<th scope="row"><a href="{% url 'view_devis' devis_.pk %}">DV{{devis_.id }}</a></th>
<td>{{ devis_.date_ecriture }}</td>
<td>{{ devis_.date_expiration }}</td>
<td>{{devis_.client.nom}}</td>
<td>{{ devis_.total}} DH</td>
<td>{{ devis_.commercial.last_name}}</td>
</tr>
{% endfor %}

我无法显示外键对象的属性,其中没有值。列中没有显示任何内容。我使用的是postgresql数据库。

首先,尝试删除模型中的name="CLIENT_FK",然后进行迁移(python manage.py makemigrationspython manage.py migrate(。你的模型现在应该看起来像:

class Devis(models.Model):
titre = models.CharField(max_length=30, )
date_ecriture = models.DateField(auto_now_add=True)
date_expiration = models.DateField()
client = models.ForeignKey(Client, default=1 ,on_delete=models.SET_DEFAULT)
total = models.DecimalField(max_digits=10, decimal_places=2)
commercial = models.ForeignKey(User, default=1 ,on_delete=models.SET_DEFAULT)
def __str__(self):
return "DV"+str(self.pk)

之后,您可以在forloop中进行迭代,请避免使用类似devis_的东西。我建议你使用这样的forloop:

{% for dev in devis %}
<tr>
<th scope="row"><a href="{% url 'view_devis' dev.pk %}">DV{{dev.id }}</a></th>
<td>{{ dev.date_ecriture }}</td>
<td>{{ dev.date_expiration }}</td>
<td>{{dev.client.nom}}</td>
<td>{{ dev.total}} DH</td>
<td>{{ dev.commercial.last_name}}</td>
</tr>
{% endfor %}

尝试{% for devis in object.devis_set.all %}不要在设备的末尾使用_

相关内容

  • 没有找到相关文章

最新更新