我有不同的模型:
Cars
Pictures (models.ForeignKey(Cars))
CarsOptions(models.OneToOneField(Cars))
然后我想,那个用户可以添加新车。表格.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,})
我有几个问题(是的,我读过这个)。
- 如您所见,用户只能添加“汽车”,不能添加图片和选项。如何以一种形式在一个页面上执行此操作?
exclude = ('checked','user')
,这意味着,我想用checked=0制作所有新位置,所以我可以过滤它们。而用户字段 - 用户不能在列表中选择用户。如何获取用户 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)