Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django:参考fixture中另一个模型的用户对象_Python_Django_Django Models_Fixtures - Fatal编程技术网

Python Django:参考fixture中另一个模型的用户对象

Python Django:参考fixture中另一个模型的用户对象,python,django,django-models,fixtures,Python,Django,Django Models,Fixtures,为了避免这种情况,我将分别描述我的问题和尝试的解决方案 我的问题 我有一个约会模型,我想为它写一篇文章。从Django到预约模型有一对多映射(每个预约只有一个客户端,但一个客户端可以有多个预约) 我知道我可以在约会安排中为用户硬编码主键,但这是一个脆弱的解决方案。硬编码外键也会影响我的装置的可读性 我尝试的解决方案 我看了这个,它有一个链接的答案。然而,我在尝试使用这种方法时遇到了一个问题 我相信我可以为用户模型创建一个代理模型,因此我可以为自然密钥创建一个自定义模型。以下是我的代理模型: 类用

为了避免这种情况,我将分别描述我的问题和尝试的解决方案

我的问题 我有一个
约会
模型,我想为它写一篇文章。从Django到
预约
模型有一对多映射(每个预约只有一个客户端,但一个客户端可以有多个预约)

我知道我可以在约会安排中为
用户
硬编码主键,但这是一个脆弱的解决方案。硬编码外键也会影响我的装置的可读性

我尝试的解决方案 我看了这个,它有一个链接的答案。然而,我在尝试使用这种方法时遇到了一个问题

我相信我可以为
用户
模型创建一个代理模型,因此我可以为自然密钥创建一个自定义模型。以下是我的代理模型:

类用户代理(用户):
objects=UserManager#UserManager类的代码被省略
类元:
proxy=True
unique_together=['username']]
(如果
UserManager
类的代码是相关的,请在评论中告诉我,我会添加它。)

但是,当我运行
manage.py makemigrations
时,会出现以下错误:

ERRORS:
accounts.UserProxy: (models.E016) 'unique_together' refers to field 'username' which is not local to model 'UserProxy'.
    HINT: This issue may be caused by multi-table inheritance.
我理解此错误消息:
username
字段属于
User
模型,而不是
UserProxy
模型

我的问题
  • 我的代理模型方法是一种好方法吗?如果不是,我应该怎么做
  • 如果我的代理模型方法是一种很好的方法,我如何才能正确地引用我的
    唯一列表中
    用户
    模型的
    用户名
    字段