我在django中使用get_model和get_models时遇到问题
我在模特下有几个型号/
models/blog.py
models/tags.py
models/users.py
models/comments.py
models/category.py
Run Code Online (Sandbox Code Playgroud)
还有一个 models/__init.py__
from myapp.models.blog import *
from myapp.models.tags import *
from myapp.models.users import *
from myapp.models.comments import *
from myapp.models.category import *
Run Code Online (Sandbox Code Playgroud)
但是在我的views.py中,我有一些代码可以使用get_model
from django.db.models.loading import get_model
blog_class = get_model('myapp', 'blog') #Returns none
Run Code Online (Sandbox Code Playgroud)
当我尝试get_models('myapp')它时返回一个空列表.
我也试过了
print(get_app('myapp'))
Run Code Online (Sandbox Code Playgroud)
哪个回报:
<module 'myapp.models' from '/var/www/myapp/models/__init__.pyc'>
Run Code Online (Sandbox Code Playgroud)
如果我试图迭代它
for model in get_models(get_app('myapp')):
print(model)
Run Code Online (Sandbox Code Playgroud)
它什么都不做.我有什么遗漏或没有发现?
Ala*_*air 11
由于您尚未在应用程序中定义模型,因此models.py必须app_label为每个模型明确设置选项.
class Blog(models.Model):
title = models.CharField(max_length=30)
...
class Meta:
app_label = 'myapp'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1509 次 |
| 最近记录: |