Django Model"有超过一个ForeignKey to"

时间:2015-04-19 23:59:09

标签: python django

有两个模型,UserFriends。我想让两个用户结交朋友,但确实有用。

控制台刚才说,

  

django.core.management.base.CommandError:系统检查发现了一些问题:

     

错误:   :(admin.E202)'api4android.Friends'对'api4android.User'有多个ForeignKey。

这是代码

class Friends(models.Model):
    user = models.ForeignKey(User, null=True, related_name='user')
    friend = models.ForeignKey(User, null=True, related_name='friend')
    note_name = models.CharField(max_length=20)

def __str__(self):  
    return self.note_name
希望我糟糕的英语能让你理解我的意思。

2 个答案:

答案 0 :(得分:15)

admin.py 中,您必须为每个关系指定 fk_name 。 例如:

class FriendshipInline(admin.TabularInline):
    model = Friendship
    fk_name = "to_person"

更多信息: Django Docs

答案 1 :(得分:0)

将其更改为此

class Friends(models.Model):
    user = models.ForeignKey(User, null=True)
    friend = models.ForeignKey(User, null=True, related_name='friend')
    note_name = models.CharField(max_length=20)

def __str__(self):  
    return self.note_name