Переделал на связь с обычной моделью.
В итоге есть две модели (товар - изображения).
Мне нежно, что бы при добавлении товара можно было на форме добавлять изображения.
Воспользовался inlineformset_factory
ImageFormset = inlineformset_factory(Advertisement, Image, fields = '__all__')
из view в шаблон передаю две формы, Товар + ImageFormset
Вопрос как по view потом их обработать?
И вобще правильно ли использовать inlineformset_factory или надо делать как-то иначе?
Собственно вот view
def new_bicycle(request):
# @login_required
args = {}
if not request.user.is_authenticated():
return render(request, 'user/login_error.html')
if request.method == 'POST':
form = BicycleForm(request.POST)
form_image = ImageFormset(request.FILES)
if form.is_valid() and form_image.is_valid() :
# image = form_image.save()
# form.instance = image
# form.instance.user = User.objects.get(id=request.user.id)
# form.save()
bicycle = form.save(commit=False)
bicycle.user = User.objects.get(id=request.user.id)
bicycle.save()
return redirect('view_bicycle', bicycle_id=bicycle.pk)
else:
args['form'] = BicycleForm()
args['form_image'] = ImageFormset()
args['username'] = request.user.username
return render(request, 'advertisement/bicycle/new_bicycle.html', args )
на form_image.is_valid() падает с нечитаемой ошибкой :\
"ValidationError at /bicycle/new/
[u'\u0414\u0430\u043d\u043d\u044b\u0435 ..."
Updated 7 April 2018, 18:10 by Leonid.