我有一个 django auth 用户代理模型,它附加了一些额外的权限,如下所示:
class User(User):
class Meta:
proxy = True
permissions = (
("write_messages","May add new messages to front page"),
("view_maps","Can view the maps section"),
)
在模型的其他地方,我有一个以 User 作为外键的对象:
class Project(models.Model):
creation_date = models.DateTimeField(auto_now_add=True)
modify_date = models.DateTimeField(auto_now=True)
owner = models.ForeignKey(User)
在我的一个观点中,我尝试使用当前用户作为所有者来创建一个新项目
@login_required
def new_project(request):
project = Project.objects.create(owner=request.user)
但是,这会返回错误:
Cannot assign "<User: mwetter>": "Project.owner" must be a "User" instance.
我假设项目对象中的外键所有者是指 Django User 的基类而不是我的代理类。有没有办法将我的代理用户称为外键?