Лучший способ реализовать функцию Подписчиков и Подписчиков с помощью Django ORM - PullRequest
0 голосов
/ 17 марта 2020

Я борюсь с этой функцией. Чего я хочу добиться, так это иметь такую ​​же функциональность, как, например, в Instagram. Если пользователь A следует за пользователем B, это означает, что пользователь A следует за пользователем B, а за пользователем B следует пользователь A. Итак:
A.following = [B],
B.following = [],
A.followers = [],
B.followers = [A].
Как мне вставить это в Django код отношений? Я пробовал много способов, теперь у меня есть что-то вроде этого:

class Profile(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL,
                                on_delete=models.CASCADE)
    follows = models.ManyToManyField('self',
                                     related_name='followers',
                                     symmetrical=False)

Но теперь я не знаю, должен ли я иметь другие отношения, чтобы отразить «Вслед за»? Или как-то у меня сейчас, но не знаю, чтобы написать это в коде? Помогите, пожалуйста, понять.

...