Как создать новый элемент через форму в Foreign Key Django
Создаю пет проект отзывов об автозапчастях, на нем учу джанго. Есть такие модели:
class SparePart(models.Model):
name = models.CharField(max_length=255, db_index=True, verbose_name='Название')
brand = models.CharField(max_length=255, db_index=True, verbose_name="Производитель")
number = models.CharField(max_length=30, db_index=True, verbose_name="Номер (артикул)")
category = models.ForeignKey(SparePartCategory, on_delete=models.PROTECT, verbose_name="Категория")
class Review(models.Model):
RATING_VALUES = [
('1', 'Ужасно'), ('2', 'Плохо'), ('3', 'Сносно'), ('4', 'Хорошо'), ('5', 'Отлично'),
]
spare_part = models.ForeignKey(SparePart, on_delete=models.PROTECT, verbose_name="Запчасть")
mileage = models.SmallIntegerField(verbose_name="Пробег, тыс.км")
rating = models.CharField(max_length=1, choices=RATING_VALUES, verbose_name="Рейтинг", default=3)
review = models.TextField(max_length=1000, blank=True, verbose_name="Отзыв")
Как мне из фронтэнд формы создать новую запчасть состоящую из трех полей используя ReviewForm?
class AddReviewForm(forms.ModelForm):
class Meta:
model = Review
fields = ['spare_part', 'mileage', 'rating', 'review']
widgets = {
'spare_part': forms.Select(attrs={'class': 'form-select'}),
'mileage': forms.NumberInput(attrs={'class': 'form-control'}),
'rating': forms.Select(attrs={'class': 'form-select'}),
'review': forms.Textarea(attrs={'class': 'form-control', 'rows': '5'}),
}
Докопался, что нужно использовать get_or_create здесь, но не знаю как создать три поля для модели SparePart