我正在开发一个项目管理应用程序。在每个页面(所有项目、新项目、编辑项目等)上,我希望用户的项目出现在基本模板的侧边栏中。
在基本模板的侧边栏中,我有以下代码用于渲染用户的项目:
<h5>Your projects</h5>
{% for project in user.projects.all %}
{{ project }}<br/>
{% endfor %}
但是,这只会渲染一个项目,而不是所有项目。这是为什么?
项目模型:
class Project(models.Model):
name = models.CharField(max_length = 50)
... the rest of the fields ...
added_by_user = models.ForeignKey(User)
users = models.ManyToManyField(User, related_name='projects')
def __unicode__(self):
return self.name
def owned_by_user(self, user):
return self.added_by_user == user