gpt4 book ai didi

python - Django get_models 与模型/__init.py__

转载 作者:太空狗 更新时间:2023-10-29 20:52:30 24 4
gpt4 key购买 nike

我在 django 中使用 get_model 和 get_models 时遇到问题

我在models下有几个模型/

 models/blog.py
models/tags.py
models/users.py
models/comments.py
models/category.py

还有一个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 *

但是在我的 views.py 中有一些代码可以使用 get_model

from django.db.models.loading import get_model
blog_class = get_model('myapp', 'blog') #Returns none

当我尝试 get_models('myapp') 时,它返回一个空列表。

我也试过

print(get_app('myapp'))

哪个返回:

<module 'myapp.models' from '/var/www/myapp/models/__init__.pyc'> 

如果我尝试遍历它

for model in get_models(get_app('myapp')):
print(model)

它什么都不做。有什么我遗漏或没有发现的吗?

最佳答案

因为您还没有在应用程序的 models.py 中定义您的模型,所以您必须显式设置 app_label每个模型的选项。

class Blog(models.Model):
title = models.CharField(max_length=30)
...

class Meta:
app_label = 'myapp'

关于python - Django get_models 与模型/__init.py__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11739011/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com