2011-04-05 40 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()