2011-10-14 48 views
0

這個問題是與此類似:field choices() as queryset?創建爲每個對象的ModelForm領域的查詢集

例如,如果我有一個非常簡單的模型:

class Order(models.Model): 
    quantity = models.FloatField()   
    def __unicode__(self): 
     return self.quantity 

而且的ModelForm就像這樣:

class OrderForm(models.Modelform): 
    class Meta: 
     model = Order 

然後我從另一個模型,即一些查詢集。我把所有的項目的名稱:在此列表中

items = [item.name for item in Inventory.objects.all()] 

如何爲每個項目生成一個數量字段,並讓每一個這些字段的詳細名稱是每個項目的名字是什麼?我需要某種形式的組件嗎?

回答

0
class OrderForm(models.Modelform): 
    class Meta: 
     model = Order 

    def __init__(self, *args, **kwargs): 
     super(OrderForm, self).__init__(*args, **kwargs) 

     self.fields['quantity'].choices = [(i.quantity, i.name) for i in Inventory.objects.all()]