我目前正在尝试针对以下情况设计我的django模型:我有一个名为User的类,每个用户都有一个唯一的用户ID。现在我想根据用户的硬币进行排名。但是,我想在用户查看排名时,只允许用户看到朋友的用户。
因此,我定义了一个具有ManytoMany字段“isfriend”的朋友,其中包含用户所有的所有用户ID。但是,我觉得我尝试这样做的方式并不是最好的方法。有什么建议我应该如何实现这个?
class User(models.Model):
userid = models.CharField(max_length=26,unique=True)
coins = models.IntegerField()
def __str__(self):
return self.userid
class Friends(models.Model):
isfriend = models.ManytoManyField(User)
def __str__(self):
return self.isfriend
答案 0 :(得分:5)
用户有很多用户(朋友),它提供了如下解决方案:
class User(models.Model):
userid = models.CharField(max_length=26,unique=True)
coins = models.IntegerField()
friends = models.ManyToManyField('self')
def __str__(self):
return self.userid
抱歉我的英语不好。