我想定义一个与自身有多对一关系的django模型。它是一个用户配置文件,作为OneToOne字段与身份验证用户模型连接。我想保存哪个用户(如果有的话)是将“当前”用户引用到我的系统的用户。这意味着我有以下定义:
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.referrer
和u2.referred
或u2.referred_set
。有什么办法可以实现吗?
答案 0 :(得分:3)
related_name='profile'
这是为任何相关字段定义名称的参数,因此:
class SpecificUserProfile(UserProfile):
referrer = models.ForeignKey('self', related_name='referred')