Здраствуйте коллеги по цеху. В процессе изучения Джанго мой друг дал мне задание для набивания шишек. Это вроде сайта для обьявлений продажи автомобилей. Модель добавления изображений авто написана отдельно от модели добавления самого обьявления, для того что бы сделать потом загрузку нескольких снимков одновременно. Внимание вопрос - каким образом мне правильно запилить вьюшку, что бы из этих двух форм даные сохранялись в Б.Д. под одним ИД обьявления? На даном этапе сохраняются отдельно фото и отдельно обьявление.
Немного кода:
views.py
def addcar(request):
if request.method == 'POST':
form1 = ImageForm(request.POST, request.FILES)
form = AddCar(request.POST)
if form.is_valid() and form1.is_valid():
obj = form.save(commit=False)
obj.user_id = request.user
obj1 = form1.save(commit=False)
obj1.save()
obj.save()
else:
form = AddCar()
form1 = ImageForm()
return render(request, 'addcar.html', {'form':form, 'form1':form1})
forms.py
class AddCar(forms.ModelForm):
class Meta:
model = Adauto
fields = ('mark_car', 'model_car', 'city', 'user_id', 'price')
exclude = ['user_id']
class ImageForm(forms.ModelForm):
image = forms.ImageField(label='Image')
class Meta:
model = Photos
fields = ('image', 'main', 'adcar')
models.py
def get_image_filename(instance, filename):
return 'static/%s' % filename
class Photos(models.Model):
adcar = models.ForeignKey(Adauto,
verbose_name=u'Обьявление',
blank=True
)
image = models.ImageField(
upload_to=get_image_filename,
verbose_name=u'Фото',
default=None
)
main = models.BooleanField(
default=False
)
def __unicode__(self):
return u"%s" % self.adcar
Критику принимаю адекватно, так что прошу ваши камни в мой огород. Ну и выручайте пожалуйста, если не разберусь с джанго - забухаю(
Updated 27 Aug. 2016, 1:11 by taptione.