Django:从String获得模型吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (53)

在Django中,你可以指定如下关系:

author = ForeignKey('Person')

然后在内部它必须将字符串“Person”转换为模型Person

功能在哪里呢?我想用它,但我找不到。

提问于
用户回答回答于

从Django 1.9开始,方法是django.apps.AppConfig.get_model(model_name)

从Django 1.7开始,django.db.models.loading已弃用(将在1.9中删除),以支持新的应用程序加载系统。

找到了。它的定义如下:

from django.db.models.loading import get_model

定义为:

def get_model(self, app_label, model_name, seed_cache=True):
用户回答回答于

从Django 1.7开始,django.db.models.loading 已弃用(将在1.9中删除),以支持新的应用程序加载系统。

$ python manage.py shell
Python 2.7.6 (default, Mar  5 2014, 10:59:47)
>>> from django.apps import apps
>>> User = apps.get_model(app_label='auth', model_name='User')
>>> print User
<class 'django.contrib.auth.models.User'>
>>>

扫码关注云+社区