在保存表单时向表单添加额外的字段
问题描述:
我想知道将数据保存到非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()
再次你帮助,我只有感谢给.. :-) – Thameem 2015-02-23 13:46:43