选项字段填充错误

时间:2012-01-18 11:32:08

标签: python django django-models django-forms

我的模型之一(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()....

注意似乎解决了错误。

1 个答案:

答案 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')