CartItemFormset = inlineformset_factory(Cart, CartItem, can_order = True, fields = '__all__')
Теперь мне надо передать начальные данные в этот набор форм, причем для одного из полей значения выбираются из списка. Т.е. для такого поля каждой вложенной формы значение выбирается из списка. Но как это сделать?
Первым делом, мы создаем экземпляр главной формы и сохраняем его.
self.form = CartForm(request.POST) if self.form.is_valid(): self.new_cart = self.form.save() items = Item.objects.filter(slug__in=cart_items.keys(), is_visible=True, price__gt=0)
Теперь мы создаем экземпляр набора форм и передаем начальные данные. При этом в одно из полей модели подставляется ссылка на запись главной модели. А в одно из полей значение из списка. И вот в этом загвоздка. Т.е. нужно, чтобы в первую вложенную форму подставлялось первое значение из списка. Во вторую – второе и т.д.. Т.е. примерно вот так:
self.formset = CartItemFormset(request.POST, instance = self.new_cart, initial = [ {‘cart’: self.new_cart, ‘item’: items}])
Но это не работает. Может надо как-то перебирать эти значения в цикле или еще как-то решить данную проблему? Помогите плиз!