我的模型之一(Person)中有以下字段。
field1 = models.CharField(verbose_name="Field",choices=populate_games(), max_length=50)
populate_games已添加到utils模块中。这是
的代码def populate_games():
from cloudwork.work.models import Game
return Game.objects.values_list('name', 'name').distinct('name')
它在生产和开发方面都很有效。但是在生产中它会抛出一个错误,说Person不能导入导入Person类的类之一并指向上面发布的代码。
我尝试用不同的选项替换populate_games()来检查是否产生了错误。 这是我用
替换populate_games()的列表Game.objects.values_list('name', 'name').distinct('name')
我在Game类中创建了一个类方法来调用Game.populate_games()....
注意似乎解决了错误。
答案 0 :(得分:1)
您很有可能在这里进行循环导入。试试这个
from django.db.models import get_model
def populate_games():
Game = get_model('work', 'Game') # I assume 'work' is the name of the app
return Game.objects.values_list('name', 'name').distinct('name')