Как реализовать подписчиков / подписчиков, используя ManyToManyField в Django? - PullRequest
0 голосов
/ 03 марта 2020

Я хочу реализовать следующую функцию с помощью manytomanyfield в моем приложении Django. Я создал класс UserProfile для каждого пользователя с двумя атрибутами: user и follow. Пользователь наследует модель пользователя 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

Кто-нибудь знаете, как исправить эту ошибку? Большое спасибо!

1 Ответ

0 голосов
/ 03 марта 2020

Попробуйте удалить файл (ы) миграции, а затем повторите команду ниже

python manage.py makemigrations 
python manage.py migrate 
...