8

djangoでget_modelとget_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)

何もしません。足りないものや見つけられないものはありますか?

4

1 に答える 1

11

アプリでモデルを定義していないため、モデルごとにオプションをmodels.py明示的に設定する必要があります。app_label

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

    class Meta:
        app_label = 'myapp'
于 2012-07-31T11:30:11.393 に答える