我有与此问题中提出的相同的难题,但适用于Django的auth.User.
我有这个代理模型:
class OrderedUser(User):
def __unicode__(self):
return self.get_full_name()
class Meta:
proxy=True
ordering=["first_name", "last_name"]
Run Code Online (Sandbox Code Playgroud)
我的一些其他模型使用的是字段类型OrderedUser而不是django.contrib.auth.models.User字段类型.
在我的视图中,我然后使用request.user填充字段和 - 正如预期 - 得到一个错误:
'Cannot assign "<User...>": <field> must be a "OrderedUser" instance'
Run Code Online (Sandbox Code Playgroud)
我可以做OrderedUser.objects.get(request.user.id),但这对数据库来说是一个额外的打击.
那么,如何将基础模型类转换为其代理类?