Django-获取模板循环中所有相关的
我有一个数据表,它为每个存储对象创建一行。我正在使用Django 2.1Django-获取模板循环中所有相关的,django,python-3.x,django-2.1,Django,Python 3.x,Django 2.1,我有一个数据表,它为每个存储对象创建一行。我正在使用Django 2.1 <tbody> {% for store in stores %} <tr id="table-row"> <td><a href="/stores/{{ store.pk }}">{{ store.store_number }}</a></td> <td><a href="/stores/{{
<tbody>
{% for store in stores %}
<tr id="table-row">
<td><a href="/stores/{{ store.pk }}">{{ store.store_number }}</a></td>
<td><a href="/stores/{{ store.pk }}">{{ store.name }}</a></td>
<td>{{ store.phone }}</td>
<td>{{ store.city }}</td>
<td>{{ store.state }}</td>
{% for circuit in circuits %}
<td>{{ circuit }}</td>
{% endfor %}
<td>{{ store.postal }}</td>
</tr>
{% endfor %}
</tbody>
查看:
class Store(models.Model):
store_number = models.IntegerField(default=0000, unique=True)
name = models.CharField(max_length=100)
phone = models.CharField(max_length=15)
xo_tn = models.CharField(max_length=15, null=True)
street_address = models.CharField(max_length=50, null=True)
city = models.CharField(max_length=50, null=True)
state = models.CharField(max_length=50, null=True)
postal = models.CharField(max_length=15, null=True)
timezone = models.CharField(max_length=40, null=True)
date_opened = models.DateField(blank=True, null=True)
date_closed = models.DateField(blank=True, null=True)
def __str__(self):
string = '{0} - {1}'.format(self.store_number, self.name)
return string
def number(self):
return self.store_number
class Circuit(models.Model):
circuit_id = models.CharField(max_length=100)
store = models.ForeignKey(Store, null=True, on_delete=models.SET_NULL)
provider = models.ForeignKey(Provider, blank=True, null=True, on_delete=models.SET_NULL)
configuration = models.ForeignKey(CircuitConfiguration, null=True, on_delete=models.SET_NULL)
registered_on = models.DateTimeField(auto_now=True)
delivered_on = models.DateField(auto_now=True)
is_active = models.BooleanField(default=True)
def __str__(self):
return self.circuit_id
@login_required
def stores(request):
stores = Store.objects.exclude(street_address__contains="closed").all()
context = {
'stores':stores,
}
return render(request, 'all_stores.html', context)
我还没有尝试过很多东西,因为我不确定如何在不中断关系或从前端执行查询的情况下做到这一点。在django关系中,可以使用反向访问器。看 在您的情况下,您的模板代码将是:
<tbody>
{% for store in stores %}
<tr id="table-row">
<td><a href="/stores/{{ store.pk }}">{{ store.store_number }}</a></td>
<td><a href="/stores/{{ store.pk }}">{{ store.name }}</a></td>
<td>{{ store.phone }}</td>
<td>{{ store.city }}</td>
<td>{{ store.state }}</td>
{% for circuit in store.circuit_set.all %}
<td>{{ circuit }}</td>
{% endfor %}
<td>{{ store.postal }}</td>
</tr>
{% endfor %}
</tbody>
{%用于存储区中的存储区%}
{{store.phone}
{{store.city}
{{store.state}
{store.circuit_set.all%}
{{电路}
{%endfor%}
{{store.postal}}
{%endfor%}
另请参见。
存储。电路设置。实际上所有的
,但这让我达到了我需要的位置,谢谢。)我总是忘记反向操作。编辑:在StackOverflow捕获编辑之前,您捕获了更正。@CodeWasted它对您有用吗?我的英语不好。因此,我无法理解编辑:在StackOverflow捕获编辑之前,您捕获了更正。
非常抱歉,只是一个玩笑!很好,但是我要纠正你,因为我没有看到你的编辑,然后当我看到你已经编辑的时候,我加上了那个笑话。哦,现在我明白了。我很高兴这有帮助@代码消耗