我ForeignKey
建立了这样的关系:
class WatchList(models.Model):
user = models.ForeignKey(User)
class Thing(models.Model)
watchlist = models.ForeignKey(WatchList, null=True, blank=True)
这使我可以有条件地在我的模板中显示不同的消息,如下所示:
{% if thing.watchlist.user != request.user %}
Something
{% else %}
Nothing
{% endif %}
但是,现在我已经将关系从ForeignKey
to更改为ManyToManyField
,这种模板内过滤不再起作用:
class WatchList(models.Model):
user = models.ForeignKey(User)
class Thing(models.Model)
watchlist = models.ManyToManyField(WatchList)
在模板中尝试这种类型的模板标签过滤会显示一个AttributeError: 'ManyRelatedManager' object has no attribute 'user'
.
如何使用 ManyToMany 关系过滤模板中的对象,以便我可以显示不同的消息{% if thing.watchlist.user != request.user %}
?