如何在Django中使用ManyToManyField实现followers/following



我想在Django应用程序中使用manytomanyfield实现以下功能。我为每个用户创建了UserProfile类,它有两个属性:user和followes。用户继承默认的Django用户模型。

class UserProfile(models.Model):
user = models.OneToOneField(User, related_name = 'user', on_delete=models.CASCADE)
follows = models.ManyToManyField("self", related_name = 'follower',symmetrical=False )

我在python shell中尝试过这个:

>>> lily = User(username="Lily")
>>> lily.save()
>>> mary = User(username="Mary")
>>> mary.save()
>>> lily_profile = UserProfile(user=lily)
>>> lily_profile.save()
>>> mary_profile = UserProfile(user=mary)
>>> mary_profile.save()
>>> lily_profile.follows.add(mary_profile)

但我在做lily_profile.follows.add(mary_profile):后出现了这个错误

django.db.utils.OperationalError: table polls_userprofile_follows has no column named from_userprofile_id

有人知道如何修复这个错误吗?非常感谢!

尝试删除迁移文件,然后重新运行以下命令

python manage.py makemigrations 
python manage.py migrate 

相关内容

  • 没有找到相关文章

最新更新