我的django循环在模板中无法正常工作。为什么因为我的缘故,一切看起来都很好? 任何帮助将不胜感激。
我的模型。py
class Tags(models.Model):
name = models.CharField(max_length=10)
class Person(models.Model):
keywords = models.ForeignKey(Tags, on_delete=models.CASCADE)
我的views.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 %}
即使数据库中有数据,也不会产生任何结果。
答案 0 :(得分:2)
您正在倒退。您的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 %}