首页 > 解决方案 > 如何将两个模型合并为一个表单?

问题描述

是否可以将两个不同的模型合并为一个形式?如果是,请为我提供解决方案。基本上,我想创建一个表单,我也可以在其中添加图像,但它无法正常工作,因为我想让它工作。

模型.py:

 class Mobile(models.Model):
      brand = models.CharField(max_length=30)
      price = models.IntegerField(default=1)
      color = models.CharField(max_length=30)
      screen_size = models.IntegerField(default=5)
      os = models.CharField(max_length=30, default='Samsung')

      def __unicode__(self):
          return self.brand


class MobileImage(models.Model):
     device = models.ForeignKey(Mobile, on_delete=models.CASCADE)
     image = models.ImageField(upload_to='media/images/')

     def __unicode__(self):
         return self.device

表格.py:

from django import forms
from .models import Mobile, Laptop, MobileImage


class AddMobileForm(forms.ModelForm):

    class Meta:
        model = Mobile
        fields = '__all__'

视图.py:

def addmobile(request):
    if request.method == 'POST':
        mobileform = AddMobileForm(request.POST)
        if mobileform.is_valid():

           mobileform.save()
           return redirect('mobile')
    else:
        mobileform = AddMobileForm()

  context = {
    'mobile_form': mobileform
}
return render(request, 'device/mobile_form.html', context)

标签: pythondjangodjango-models

解决方案


推荐阅读