【问题标题】:Creating modelform fields for each object in a queryset为查询集中的每个对象创建模型表单字段
【发布时间】:2011-12-08 02:08:30
【问题描述】:

这个问题类似这样:field choices() as queryset?

例如,如果我有一个非常简单的模型:

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()]

如何为该列表中的每个项目生成一个数量字段,并让每个字段的详细名称成为每个项目的名称?我需要某种形式集吗?

【问题讨论】:

    标签: django django-queryset modelform


    【解决方案1】:
    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()]
    

    【讨论】:

      猜你喜欢
      • 2018-02-05
      • 1970-01-01
      • 2016-12-18
      • 2019-09-24
      • 1970-01-01
      • 1970-01-01
      • 2019-01-17
      • 2012-06-29
      • 1970-01-01
      相关资源
      最近更新 更多