Как создать новый элемент через форму в 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

Вернуться на верх