gpt4 book ai didi

python - 在 django 标签中使用 'for' 循环来获取 'ForeignKey'

转载 作者:行者123 更新时间:2023-12-01 01:25:34 25 4
gpt4 key购买 nike

模板中的 django 循环无法正常工作。为什么,因为我,一切看起来都那么美好?任何帮助将不胜感激。

我的 models.py

class Tags(models.Model):
name = models.CharField(max_length=10)

class Person(models.Model):
keywords = models.ForeignKey(Tags, on_delete=models.CASCADE)

我的观点.py

def person_detail(request, user_id):
person = get_object_or_404(Person, pk=user_id)
context = {'person': person}
return render(request, 'person_detail.html', context)

我的templates.html

{% for tag in person.tags %}
<span class="badge badge-lg badge-pill badge-info"># {{ person.tags.name } </span>
{% endfor %}

即使数据库中有数据,也不会给出任何结果。

最佳答案

你这是在倒退。您的 Tags 模型应该有一个 Person 的外键,而不是相反。例如:

class Person(models.Model):
...

class Tag(models.Model):
person = models.ForeignKey(Person, on_delete=models.CASCADE)
name = models.CharField(max_length=10)

请注意,我还将您的 Tags 模型重命名为 Tag,因为将模型命名为单数是有意义的。

然后你可以编写以下内容:

{% for tag in person.tag_set.all %}
...
{% endfor %}

关于python - 在 django 标签中使用 'for' 循环来获取 'ForeignKey',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53383400/

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