Django - эффективный метод проверки, следует ли один пользователь за другим (отношения "многие-ко-многим")
В принципе, я реализую довольно простую функцию, в которой один пользователь может перейти на страницу профиля другого пользователя и следовать/отслеживать его.
Для управления логикой пользовательского интерфейса я хотел бы знать, следует ли один пользователь за другим (или нет).
Я реализовал метод в django, который работает, но я думаю, что он довольно неприятный. Есть предложения, как этот запрос можно упростить с помощью ORM-запросов Django?
Спасибо за ваши предложения!
class User(AbstractUser):
follows = models.ManyToManyField("self", blank = True, null = True, symmetrical=False, related_name="followers")
pass
def serialize(self):
return{
"followsCount" : self.follows.all().count(),
"followersCount": self.followers.all().count()
}
def checkFollows(self, followCandidate ):
# basically it checks if user of the application follows a candidate which profile is he viewing by iterating through a collection of users that he follows.
for item in q:
if item == followCandidate:
return True
return False