Я создаю новое приложение, используя Django, мое приложение нуждается в форме для добавления данных в БД. Я использую 4 модели , которые все связаны внешними ключами. Как я могу использовать modelForm для ввода данных в форму и добавления их непосредственно в БД, если это невозможно, какой должен быть мой подход?
Я проверил существующие решения, которые предназначены только для 2 моделей, я не смог найти способ настроить его для своей собственной проблемы. Я попытался использовать inlineformset , но, как я уже сказал, не мог понять, как я могу реализовать его со всеми моими моделями вместе.
Я также пару раз просматривал документацию по Django, но ничего подобного не смог найти (возможно, мне не хватает).
Мои модели такие:
class Question(models.Model):
year = models.CharField(max_length=5)
source = models.CharField(max_length=140)
problemNumber = models.CharField(max_length=16)
weblink = models.CharField(max_length=200)
date_posted = models.DateTimeField(default=timezone.now)
problemStatement = models.TextField()
author = models.ForeignKey(User, on_delete=models.PROTECT)
class QLevel(models.Model):
qID = models.ForeignKey(Question, on_delete=models.CASCADE)
level = models.CharField(max_length=16)
class QMethod(models.Model):
qID = models.ForeignKey(Question, on_delete=models.CASCADE)
method = models.CharField(max_length=40)
class QSubject(models.Model):
qID = models.ForeignKey(Question, on_delete=models.CASCADE)
subject = models.CharField(max_length=35)
Как видно, 3 модели подключены к Вопрос модель с внешним ключом, в то время как Вопрос Модель подключена к Пользователь .
У меня есть простая форма, в которой я в основном ввожу всю необходимую информацию (все указанные поля) и хочу, чтобы она передавала их непосредственно в БД. Если это возможно, пожалуйста, объясните мне, если нет, объясните, почему нет, и какие другие подходы я могу попробовать?
Спасибо!