2011-04-05 46 views
0

我想为选择字段添加一个充满数字的类。数字的数量必须是Object.objects.count()的总数。选择字段取决于当前类的计数()

我想使它像这样:

class Category(models.Model): 

    quantity = Category.objects.count() + 1 
    PRIORITY = tuple((str(n), str(n)) for n in range(aantal + 1)) 

但后来我得到这个错误:

NameError: name 'Category' is not defined 

回答

0

我假设你要提供一个形式的选择,所以您最好的选择要使用IntegerField,然后阅读http://docs.djangoproject.com/en/dev/topics/forms/modelforms/并根据该表单制作您的表单并更改该字段的选项init()(如图所示here

+0

感谢那些帮助了很多! :)另一个小问题:如何检查一个字段是否在forms.ModelForm的__init__上有一个值。像:self.fields ['language'] <<<如何检查它是否有值 – Stephan 2011-04-05 17:32:18

0

为了避免name error你应该创建一个专用的方法模型,用于计算您的类别:

def total_categories(self): 
    return Category.objects.count()