Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.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 验证用户模型不接受子应用程序_Python_Django_Django Users - Fatal编程技术网

Python 验证用户模型不接受子应用程序

Python 验证用户模型不接受子应用程序,python,django,django-users,Python,Django,Django Users,使用Django 1.7.1和Python 3.4时,我的自定义用户模型出现问题。 我已在apps.users.AuthUser中声明了自定义用户模型。然后我有了另一个应用程序(apps.pets),它将AuthUser用作宠物模型中的外键。见下文: class Pet(models.Model): owner = models.ForeignKey(settings.AUTH_USER_MODEL, db_index=True, blank=False, null=False) 这是

使用
Django 1.7.1
Python 3.4
时,我的自定义用户模型出现问题。 我已在apps.users.AuthUser中声明了自定义用户模型。然后我有了另一个应用程序(apps.pets),它将AuthUser用作宠物模型中的外键。见下文:

class Pet(models.Model):
    owner = models.ForeignKey(settings.AUTH_USER_MODEL, db_index=True, blank=False, null=False)
这是我的设想:

在我的
INSTALLED\u APPS
中,我有:“APPS.users”

如果我设置了
AUTH\u USER\u MODEL=“apps.users.AuthUser”
则在运行“runserver”时引发异常:

File "/home/frank/.virtualenvs/myproj/lib/python3.4/site-packages/django/contrib/auth/checks.py", line 12, in check_user_model
    cls = apps.get_model(settings.AUTH_USER_MODEL)
  File "/home/frank/.virtualenvs/myproj/lib/python3.4/site-packages/django/apps/registry.py", line 201, in get_model
    app_label, model_name = app_label.split('.')
ValueError: too many values to unpack (expected 2)
如果我设置了AUTH\u USER\u MODEL=“users.AuthUser”,则在运行迁移时会引发异常:

File "/home/frank/.virtualenvs/myproj/lib/python3.4/site-packages/django/db/migrations/state.py", line 89, in render
    model=lookup_model,
ValueError: Lookup failed for model referenced by field pets.Pet.owner: users.AuthUser
我猜这里也报道了类似的问题:

这是否意味着在
AUTH_USR_MODEL
设置中,我必须使用'app_label.MODEL_name'而不是'apps.app_label.MODEL_name'?有解决办法吗

EDIT1: 我的项目结构如下:

SITE_ROOT
|-- PROJECT_ROOT/
|   |-- apps/
|   |   |-- app1
|   |   |-- app2
|   |-- etc/
|   |-- libs/
|   |-- media/
|   |-- requirements/
|   |   |-- __init__.py
|   |   |-- common.py
|   |   |-- development.py
|   |   |-- production.py
|   |   `-- staging.py
|   |-- settings/
|   |   |-- __init__.py
|   |   |-- common.py
|   |   |-- development.py
|   |   |-- production.py
|   |   `-- staging.py
|   |-- templates/
|   |-- README
|   |-- __init__.py
|   |-- .gitignore
|   `-- manage.py

在你安装的应用程序中,你可以只使用你的应用程序名,假设它在同一个目录中,不需要特别提到“myapp.users”,只需使用“myapp”即可

用户可以使用以下内容:

AUTH_USER_MODEL = 'myapp.MyAuthUserModel'
不要使用此选项:

AUTH_USER_MODEL = 'myapp.models.MyAuthUserModel'

希望这有帮助

AUTH\u USER\u MODEL
应该是
users.AuthUser
,因为
AuthUser
位于
users
应用程序中的
models.py
文件中。
ValueError
很可能是您代码中的另一个错误导致的,但我无法给出具体的指示。您可以添加项目结构吗?@cdvv7788为什么要求添加项目结构而不承担任何责任?