在Django的settings.py中导入模型

埃格(Egor Biriukov)

我正在尝试使用中的模型类的值定义一个常量,以为我的其中一个模型settings.py提供动态定义的FK:

from catalog.models import Product
PRODUCT_MODEL = Product

毫不奇怪,它会导致AppRegistryNotReady异常:

django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.

因为没有django.setup()方法调用

如果我加

import django
django.setup()

在模型导入之前,AppRegistryNotReady我得到异常,而不是异常

AttributeError: 'Settings' object has no attribute 'PRODUCT_MODEL'

当我使用

from django.conf import settings
...

product = models.ForeignKey(
    settings.PRODUCT_MODEL, 
    related_name='order_items')

有没有什么办法可以做到这一点而没有错误呢?

我正在使用Python 3.5和Django 1.9.5。

阿拉斯代尔

您不应该导入模型或调用django.setup()设置文件。

而是使用字符串来引用您的模型。

PRODUCT_MODEL = 'catalog.Product'

然后,在模型中,可以使用该设置。

product = models.ForeignKey(
    settings.PRODUCT_MODEL, 
    related_name='order_items',
)

请注意,该AUTH_USER_MODEL设置使用这样的字符串,您不会在设置文件中导入用户模型。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

django:无法导入settings.py

来自分类Dev

由于在settings.py中导入了uwsgi,因此无法使用manage.py

来自分类Dev

如何在脚本中导入所有django模型和更多模型?

来自分类Dev

Django:settings.py在哪里寻找导入,为什么?

来自分类Dev

Django 基于会话的模型 - settings.py 中的 id 值?

来自分类Dev

django | 在单个html页面中导入两个模型的存储数据

来自分类Dev

Django:在自定义服务文件中导入模型时出错

来自分类Dev

在Django中导入python模块:__init__.py类未加载

来自分类Dev

在models.py中导入序列化器:Django Rest Framwork

来自分类Dev

哪个库用于在 Django 中的 forms.py 中导入 RadioInput(小部件)?

来自分类Dev

Django无法导入设置“ myfolder.settings”

来自分类Dev

django local_settings导入错误

来自分类Dev

django local_settings导入错误

来自分类Dev

无法在Django中导入模式

来自分类Dev

Heroku Django选择settings.py

来自分类Dev

运行django-admin.py,引发错误“无法导入设置'mysite.settings'”

来自分类Dev

运行django-admin.py,引发错误“无法导入设置'mysite.settings'”

来自分类Dev

如何在Django settings.py中访问模型或视图属性?

来自分类Dev

Django从模板导入模型

来自分类Dev

Django无法导入模型

来自分类Dev

Django圆形模型导入

来自分类Dev

django.conf 导入设置与从 project.settings 导入 VAR

来自分类Dev

Django,在manage.py检查或sync.db时出现“错误:模块:无法导入模型”

来自分类Dev

如何在 Django 1.11 中使用 settings_local.py 覆盖 settings.py

来自分类Dev

在Django中导入模块名称冲突

来自分类Dev

无法在Django中导入GeoIP模块

来自分类Dev

无法在IPython Notebook中导入Django模块

来自分类Dev

在Django项目中导入应用

来自分类Dev

在PyCharm中导出/导入Django项目设置

Related 相关文章

  1. 1

    django:无法导入settings.py

  2. 2

    由于在settings.py中导入了uwsgi,因此无法使用manage.py

  3. 3

    如何在脚本中导入所有django模型和更多模型?

  4. 4

    Django:settings.py在哪里寻找导入,为什么?

  5. 5

    Django 基于会话的模型 - settings.py 中的 id 值?

  6. 6

    django | 在单个html页面中导入两个模型的存储数据

  7. 7

    Django:在自定义服务文件中导入模型时出错

  8. 8

    在Django中导入python模块:__init__.py类未加载

  9. 9

    在models.py中导入序列化器:Django Rest Framwork

  10. 10

    哪个库用于在 Django 中的 forms.py 中导入 RadioInput(小部件)?

  11. 11

    Django无法导入设置“ myfolder.settings”

  12. 12

    django local_settings导入错误

  13. 13

    django local_settings导入错误

  14. 14

    无法在Django中导入模式

  15. 15

    Heroku Django选择settings.py

  16. 16

    运行django-admin.py,引发错误“无法导入设置'mysite.settings'”

  17. 17

    运行django-admin.py,引发错误“无法导入设置'mysite.settings'”

  18. 18

    如何在Django settings.py中访问模型或视图属性?

  19. 19

    Django从模板导入模型

  20. 20

    Django无法导入模型

  21. 21

    Django圆形模型导入

  22. 22

    django.conf 导入设置与从 project.settings 导入 VAR

  23. 23

    Django,在manage.py检查或sync.db时出现“错误:模块:无法导入模型”

  24. 24

    如何在 Django 1.11 中使用 settings_local.py 覆盖 settings.py

  25. 25

    在Django中导入模块名称冲突

  26. 26

    无法在Django中导入GeoIP模块

  27. 27

    无法在IPython Notebook中导入Django模块

  28. 28

    在Django项目中导入应用

  29. 29

    在PyCharm中导出/导入Django项目设置

热门标签

归档