我正在尝试使用django-friendship包在我的项目中建立友谊关系。问题是我要建立我的用户模型和我自己的模型组织之间的关系。但是当我试图这样做时,事实证明django-friendship只支持两个相同类型的对象之间的关系(例如User-User类型)。我甚至试图覆盖django-friendship中的现有模型,以便改变方法但没有任何成功。目前我在舞台上,朋友的请求是从用户发送到组织的,但我需要接受它,并且我在哪里挣扎。
友谊/ 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包)来满足我的要求,我会很高兴。
答案 0 :(得分:0)
https://github.com/Ry10p/django-Plugis/blob/master/courses/models.py
第52行
<DocumentElement>
<PEScoreUpdate>
<Badge_x0020_No>105731</Badge_x0020_No>
<Last_x0020_Name>Vijaya Kumar</Last_x0020_Name>
<First_x0020_Name>Sanjay Kumar</First_x0020_Name>
<BOC>Onshore E&C</BOC>
<Emp_x0020_Class>White Collar</Emp_x0020_Class>
<Site>INGENIERÍA PROJECT Secondment</Site>
</PEScoreUpdate>
</DocumentElement>
模型的位置也必须在Friend
模型之前,因为FriendRequest
模型依赖FriendRequest
来表示ForeignKey。
示例:
Friend