在保存表单时向表单添加额外的字段

问题描述:

我想知道将数据保存到非HTML表单的备用方法。在保存表单时向表单添加额外的字段

这是我的models.py:

class product(models.Model): 
    user = models.ForeignKey("user") 
    product = models.CharField(max_length=128) 
    cost = models.IntegerField() 

这是我forms.py:

class productform(forms.ModelForm): 

    class Meta: 
     model = product 
     fields = ["product","cost"] 

这是我的views.py

for formset in product_formset: 

      cost = formset.cleaned_data['cost'] 
      product = formset.cleaned_data['product'] 

      product(
        product = product, 
        cost = cost, 
        user = request.user,# here user is not coming 
        ).save()    through the form. 

而不是使用表单集的。 save()在这里,我通过formset迭代来保存附加字段“user”。我的问题,有没有简单的方法来保存额外的字段“用户”,而无需迭代。 有人请纠正这个问题,如果不正确。

不,你不能这样做不反复,但你可以简化代码这样:

for product in product_formset.save(commit=False): 
    product.user = request.user 
    product.save() 
+0

再次你帮助,我只有感谢给.. :-) – Thameem 2015-02-23 13:46:43