1

get_model对 Django 有疑问。除了Mezzanineget_model的模型外,它适用于我试图获得的所有模型。BlogPost

我试过了:

model = get_model('mezzanine.blog', 'BlogPost')
model = get_model('mezzanine', 'BlogPost')

那些行返回None。我有一种感觉,我没有app_label在第一个参数中使用正确,但我不确定正确app_label是什么。导入它正常工作。

from mezzanine.blog.models import BlogPost

我查看了 Mezzanine 的源代码并且BlogPostmezzanine.blog应用程序中,所以我认为app_label应该是mezzanine.blog.

任何帮助是极大的赞赏!

4

1 回答 1

3

Djangoget_model使用 Django 的应用程序名称 + 对象名称约定,其中应用程序名称是直接包名称,在这种情况下为blog. 尝试:

model = get_model('blog', 'BlogPost')

于 2013-12-11T00:25:43.043 回答