我正在尝试在 django 中创建关注功能。我正在使用以下模型。我想测试这是否适用于 django manage.py shell。当我进行相关导入并运行时
user1.following.add(Follower(following=user2))
我收到以下错误
<Follower: Follower object (None)> instance isn't saved. Use bulk=False or save the object first.
这是什么原因?
模型.py
class Follower(models.Model):
follower = models.ForeignKey(User, related_name='following',on_delete=models.PROTECT)
following = models.ForeignKey(User, related_name='followers',on_delete=models.PROTECT)
class Meta:
unique_together = ('follower', 'following')
def __unicode__(self):
return u'%s follows %s' % (self.follower, self.following)
最佳答案
我不知道你期望发生什么。正如错误所示,您尚未保存该 Follower 对象。
但这似乎不是正确的做法。我认为您只想为两个用户创建一个 Follower 对象:
Follower.objects.create(follower=user1, following=user2)
直接将其添加到两侧。
更好的是,完全删除您的 Follower 模型,并将 User 上的 ManyToMany 关系声明回“self”,并使用对称=False。
关于django - 收到错误<Follower : Follower object (None)> instance isn't saved. 使用bulk=False 或先保存对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55462854/