私はさまざまなモデルを持っています:
Cars
Pictures (models.ForeignKey(Cars))
CarsOptions(models.OneToOneField(Cars))
次に、そのユーザーが新しい車を追加できるようにします。Forms.py:
class NewCarsForm(ModelForm):
class Meta:
model = Cars
exclude = ('checked','user')
views.py:
@login_required
def add_car(request):
form = NewCarsForm(request.POST or None)
if form.is_valid():
cmodel = form.save()
cmodel.save()
return redirect(profile)
return render(request, 'add_car.html', { 'form': form,})
いくつか質問があります(はい、これを読みました)。
- ご覧のとおり、ユーザーは「車」のみを追加でき、写真やオプションは追加できません。1つのフォームの1つのページでこれを行う方法は?
exclude = ('checked','user')
、つまり、checked = 0ですべての新しい位置を作成したいので、それらをフィルタリングできます。そして、user-field-ユーザーはリストからユーザーを選択できません。ユーザーID(車を追加する人)を取り込む方法はform.save()
?
ありがとう。
アップデート:
class Pictures(models.Model):
cars = models.ForeignKey(Cars, related_name='pictures')
width = models.PositiveIntegerField(editable=False, default=640)
height = models.PositiveIntegerField(editable=False, default=480)
image = models.ImageField(upload_to=lambda inst, fname: 'users_img/' + 'cars' + fname, height_field='height', width_field='width', max_length=100)
def __unicode__(self):
return str(self.id)