Здравствуйте, я изучаю django и мне необходимо сделать следующее: У меня есть две модели Seller и Goods, они связанны между собой с помощью ForeignKey, вот код:
class Seller(models.Model):
title = models.CharField('Название магазина', max_length=255)
url = models.URLField('Ссылка на магазин')
internal_url = models.CharField('Внутренняя ссылка', max_length=255)
description = models.TextField('Описание', max_length=5000)
rate = models.IntegerField('Рейтинг', default=0)
publish_date = models.DateField('Дата добавления', auto_now_add=True)
display = models.BooleanField('Отображение на главной', default=False)
email = models.EmailField('E-Mail администратора', default='')
class Goods(models.Model):
seller = models.ForeignKey(Seller, on_delete=models.CASCADE)
name = models.CharField('Что вы продаёте?', max_length=255)
Всё замечательно, есть модель Seller - продавец и модель Goods - это товары продавца (для каждого продавца их может быть сколько угодно).
Мне нужно сделать форму на сайте (не в админке), для добавления продавца, для этого я генерирую форму с помощью ModelForm, вот этим кодом у меня генерируется форма:
class SellerForm(ModelForm):
class Meta:
model = Seller
fields = ['title', 'url', 'description', 'email']
class GoodsForm(ModelForm):
class Meta:
model = Goods
fields = ['name']
Вернее сказать, генерируется одна форма но в неё включается поля ввода для Seller и поле ввода (name), для Goods. У меня возникает трудность в том, как мне правильно реализовать эту форму? Как я понял мне нужно как-то связать эти две формы, ведь модели связанны между собой, наверное можно связать и формы для этих моделей, что-бы в форме добавление продавца было поле ввода товаров (товары заполняются в виде хэш-тега как на Toster т.е на выходе у нас массив строк - товаров) и затем эти товары мне нужно добавлять в БД, каждый товар отдельно.
Как это правильно и максимально удобно реализовать?