2014-01-19 27 views
0

我想定義一個與自身具有多對一關係的django模型。它是一個用戶配置文件,作爲OneToOne字段與認證用戶模型連接。我想保存哪個用戶(如果有的話)是將當前用戶引用到我的系統的用戶。這意味着我有如下定義:在Django中定義ManyToOne關係的名稱

class UserProfile(models.Model): 
    user = models.OneToOneField(User, blank=True, related_name='profile') 

    class Meta: 
     abstract = True 

class SpecificUserProfile(UserProfile): 
    referrer = models.ForeignKey('self') 

我看到Django的默認值由帶有後綴_set類的名字命名的一組參考模型的。我相信我會沿着specific_user_profile_set的方向發展。我更希望將它命名爲u1.referreru2.referredu2.referred_set。有什麼辦法可以實現?

回答

3
related_name='profile' 

這是定義一個名字對於任何相關領域的說法,所以:

class SpecificUserProfile(UserProfile): 
    referrer = models.ForeignKey('self', related_name='referred')