Я пытаюсь построить отношение дружбы в моем проекте, используя пакет django-friendship. Проблема в том, что мне нужно построить отношения между моей моделью пользователя и моей собственной моделью под названием «Организация». Но когда я пытаюсь это сделать, оказалось, что django-friendship поддерживает только связь между двумя объектами одного типа (например, типа User-User). Я даже пытался переопределить существующие модели в django-дружбе, чтобы изменить методы, но без каких-либо успехов. На данный момент я нахожусь на сцене, что запрос друга отправляется от пользователя к Организации, но мне нужно принять его, и там я буду бороться.Django: отношение дружбы между различными моделями
дружба/models.py
class FriendshipRequest(models.Model):
""" Model to represent friendship requests """
from_user = models.ForeignKey(user_model, related_name='organisation_requests_sent')
to_user = models.ForeignKey(organisation_model, related_name='organisation_requests_received')
def accept(self):
""" Accept this friendship request """
relation1 = Friend.objects.create(
from_user=self.from_user,
to_user=self.to_user
)
relation2 = Friend.objects.create(
from_user=self.to_user,
to_user=self.from_user
)
friendship_request_accepted.send(
sender=self,
from_user=self.from_user,
to_user=self.to_user
)
class Friend(models.Model):
""" Model to represent Friendships """
to_user = models.ForeignKey(user_model, related_name='organisations')
from_user = models.ForeignKey(organisation_model, related_name='_unused_organisation_relation')
Проблема заключается в том, что, когда он создает relationship1 и relationship2 он выходит из строя из-за to_user и from_user находятся в отношениях с различными моделями. Я был бы очень рад, если вы поможете мне с проблемой или порекомендуете другой способ (без использования пакета django-friendship) сделать это, чтобы соответствовать моим требованиям.
Такого рода вещи можно сделать довольно легко без сторонних пакетов. Изучая эти пакеты, требуется больше времени, чем делать это самостоятельно – e4c5
мм. У вас есть что-то в виду или что-то порекомендовать мне, учебник или документацию, потому что я трачу довольно много времени на просмотр youtube и других ресурсов, чтобы узнать, может ли кто-нибудь помогите мне, но ничего не смог найти:/ –
[Может быть, это может вам помочь?] (http://stackoverflow.com/a/42756921/7701008) -cheers – Ry10p