我正在尝试为用户设置一种“观看”某些项目的方式(即将项目添加到包含其他用户的其他项目的列表中):
class WatchList(models.Model):
user = models.ForeignKey(User)
class Thing(models.Model):
watchlist = models.ForeignKey(WatchList, null=True, blank=True)
如何将
Thing
添加到用户 WatchList
?>>> from myapp.models import Thing
>>> z = get_object_or_404(Thing, pk=1)
>>> a = z.watchlist.add(user="SomeUser")
AttributeError: 'NoneType' object has no attribute 'add'
如何将项目添加到监视列表?和/或这是设置模型字段的合适方法吗?感谢您的任何想法!
最佳答案
z.watchlist
是引用本身,它不是关系管理器。只需分配:
z.watchlist = WatchList.objects.get(user__name='SomeUser')
请注意,这假设每个用户只有一个
WatchList
。关于python - Django 为外键添加值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19500794/