gpt4 book ai didi

python - Django 模板中的反向关系

转载 作者:行者123 更新时间:2023-11-28 22:40:52 25 4
gpt4 key购买 nike

我试图在我的模板中显示来自不同模型的数据,但我不知道为什么它不能正常工作。

模型.py:

class Company(models.Model):
name = models.CharField(max_length=100)

class Location(models.Model):
company = models.ForeignKey('Company',
related_name='locations')

Views.py:

def sth(request):
loc_list = Location.objects.all()
return render(request, 'blabla/index.html', {'loc_list': loc_list})

模板:

{% for loc in loc_list %}
{% for entry in loc.company_set.all %}
{{entry.name}}
{% endfor %}
{% endfor %}

为什么没有显示公司名称?

最佳答案

你的外键关系是错误的方式......你目前定义它们的方式,一个 Location 只能有一个 Company 与之关联,但是在您正在尝试获取 Company 列表的模板。

要使您的模板逻辑起作用,您的模型必须按如下方式定义:

class Company(models.Model):
name = models.CharField(max_length=100)
location = models.ForeignKey('Location')

class Location(models.Model):
# You probably need some other fields in here.

那么这会起作用:

{% for loc in loc_list %}
{% for entry in loc.company_set.all %}
{{entry.name}}
{% endfor %}
{% endfor %}

关于python - Django 模板中的反向关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33207085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com