我想在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