2015-02-23 2 views
0

Я хочу знать альтернативный метод для сохранения данных в базу данных, которые не поступают из формы 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. 

Вместо использования formset. save() здесь я повторяю через набор форм, чтобы сохранить дополнительное поле «пользователь». Мой вопрос: есть ли простой способ сохранить дополнительное поле «пользователь» без повторения. Кто-то, пожалуйста, исправьте вопрос, если он неверен.

ответ

2

Нет, вы не можете сделать это без перебора, но вы можете упростить код для этого:

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

снова вы помогаете, у меня есть только благодаря дать .. :-) – Thameem

Смежные вопросы