所以我的for循环出现问题,这意味着要显示分配给用户的所有任务。正如您在this imgur link上看到的那样,分配了四个任务。但是它不会在网站上显示它们。
这是我的detail.html文件:
<h1>{{user.fullName}}</h1>
<h4>Username: {{user.userName}}</h4>
<ul>
{% for i in userName.i_set.all %}
<li> {{ i.taskName }} </li>
{% endfor %}
</ul>
这是我的models.py:
from django.db import models
class User(models.Model):
userName = models.CharField(max_length=30)
password = models.CharField(max_length=100)
fullName = models.CharField(max_length=50)
def _str_(self):
return self.fullName
class Task(models.Model):
userName = models.ForeignKey(User, on_delete=models.CASCADE)
taskName = models.CharField(max_length=30)
scores = models.CharField(max_length=100) # score should default be set to x/10 until changed
def _str_(self):
return str(self.userName) + ' - ' + self.taskName
我知道帮助你不认识的人是一种痛苦,但是我真的很感激,因为我已经在这个问题上工作了一个小时并且什么都没做,我真的很想学习问题是什么......非常感谢,祝你有个美好的一天!
答案 0 :(得分:1)
根据您提供的代码,您的for loop
代码完全错误,请尝试将其更改为:
{% for i in user.task_set.all %}
更好的方法是在related_name中使用ForeignKey以便于访问:
userName = models.ForeignKey(User, on_delete=models.CASCADE, related_name='tasks')
然后,您可以在模板中访问用户的相关任务,如下所示:
{% for i in user.tasks.all %}