Как объединить поля из разных моделей в одной форме в Django? - PullRequest
0 голосов
/ 05 сентября 2018

Допустим, у меня есть 3 модели

class Products(models.Model):
    Brand= models.ForeignKey(City,models.CASCADE, related_name='city')
    Title = models.CharField(max_length=200, db_index=True)
    description = models.TextField(blank=True,max_length=250)
    price = models.DecimalField(max_digits=11, decimal_places=2)

class Clothes(models.Model):
    product = models.ForeignKey(Products,models.CASCADE, related_name='clothe')
    Color= models.CharField(max_length=200, db_index=True, unique=True)

class Smartphones(models.Model):
    product = models.ForeignKey(Products,models.CASCADE, related_name='phone')
    storage= models.DecimalField(max_digits=11, db_index=True)

как я могу объединить поля из разных моделей в одной форме, чтобы у нас было что-то вроде этого:

class ClothesForm(ModelForm):
  class Meta:
      model = Clothes
      fields = ('brand','Title','Color)

class PhonessForm(ModelForm):
  class Meta:
      model = Smartphones
      fields = ('brand','Title','storage')

если это работает, можно назначить выбор бренда для каждой формы, например:

  phones_Brand = (('Samsung','Samsung'),
  ('Iphon','Iphon'))

  clothes_Brand = (('Nike','Nike'),
  ('Adidas','Adidas'))

Спасибо

...