[英]many to many field - django model - understanding
我正在尝试实施一个小项目,一个人可以将另一个人添加为朋友。
我想在数据库中建立这种关系的模型:我想,我将做另一个称为friendship
模型,并且我将这样写它的模型:
class friendship(models.Model):
friend = models.ManyToManyField(User)
这是全部吗? 我不知所措地陷在逻辑中,不知道该如何设计。.我读了文档,但不知何故,有人可以帮帮我。
非常感谢
除非您需要存储有关关系的其他信息,否则实际上不需要创建其他模型。 例如,它已经定义了基本关系:
class User(models.Model):
...
friends = models.ManyToManyField(self) # self means User.
如果您想存储其他信息,例如哪种类型的朋友,他们有多亲密。 然后,您需要一个额外的模型。
class User(models.Model):
...
friends = models.ManyToManyField(self, through='Friendship')
class Friendship(models.Model):
from_user = models.ForeignKey(User, related_name="from_user")
to_user = models.ForeignKey(User, related_name="to_user")
friend_type = models.CharField(max_length=255)
friend_rated = models.FloatField()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.