我想确定table1.id\u sitio和table2.id\u sitio在模板中是否相同。如果不是这样的话,B
我想如果我的句子错了。。。 这是我第一次试穿Django,所以我可能错过了什么
这就是我所尝试的和我的代码:
型号.py
class Comprobante(models.Model):
id_sitio = models.ForeignKey('Sitio', models.DO_NOTHING, db_column='id_sitio', blank=True, null=True)
class Sitio(models.Model):
id_sitio = models.IntegerField(primary_key=True)
sitio = models.CharField(max_length=100, blank=True, null=True)
def __str__(self):
return self.sitio
视图.py
def topsitios(request):
sitio = Sitio.objects.all()[0:100]
comprobante = Comprobante.objects.all()[0:100]
context = {'sitio': sitio, 'comprobante': comprobante}
return render(request, "sitio_ptc/topsitios.html", context)
模板.html
{% block content %}
{% for s in sitio %}
<tr>
<th scope="row"> {{ forloop.counter }}</th>
<td> {{ s.sitio }} </td>
<td>
{% for c in comprobante %}
{% if s.id_sitio == c.id_sitio %}
comprobante ok
{% else %}
no payments
{% endif %}
{% endfor %}
</td>
</tr>
{% endfor %}
{% endblock %}
对象的
id_sitio
是ForeignKey
。这意味着c.id_sitio
不是相关对象的主键的值,而是Sitio
对象您可以通过以下方式进行检查:
注意,通常
ForeignKey
没有前缀或后缀,因为Django会自动添加一个带有_id
后缀的字段,该后缀包含它所引用对象的主键的值但是,由于创建了嵌套的
for
循环,模板将多次打印no payment
相关问题 更多 >
编程相关推荐