[英]Create multiple entries for one model in a Django modelform
對不起,如果標題令人困惑,我真的想不出如何表達它。
我正在創建一個有很多測驗的網站。 每個Quiz
模型
class Quiz(models.Model):
name = models.CharField(max_length = 80)
description = models.CharField(max_length = 300)
num_questions = models.IntegerField(default = 10)
slug = models.SlugField(max_length = 20)
img = models.URLField(blank = True) # allow it to be none
def __str__(self):
return self.name
def get_questions(self):
return self.question_set.all()
這個樣子的......,它有類似名稱,說明等方面有很多的一些屬性Question
有模型ForeignKey
一個Quiz
:
class Question(models.Model):
quiz = models.ForeignKey(Quiz, on_delete = models.CASCADE)
img = models.URLField(blank = True) # allow none`
content = models.CharField(max_length = 200)
def __str__(self):
return self.content
def get_answers(self):
return self.answer_set.all()
然后有一些Choice
有模型ForeignKey
一個Question
:
class Choice(models.Model):
question = models.ForeignKey(Question, on_delete = models.CASCADE)
content = models.CharField(max_length = 200)
correct = models.BooleanField(default = False)
現在。 我想創建一個ModelForm
,從中我可以創建 1 個測驗記錄,然后是 10 個問題記錄,每個問題有 4 個選擇記錄。 如果他們可以自動將外鍵設置為正在創建的問題,那就太好了。 我該怎么辦? 甚至有可能嗎? 我什至不知道我對這個問題的措辭是否有意義,因為我腦子里有一個偉大的想法,但不知道如何用文字或代碼正確表達它。
幫助表示贊賞:)
如果您有 3 個模型,並且希望在 HTML 文件中以單一形式顯示它們。 然后,您可以簡單地為每個表單創建一個模型表單,並將它們添加到單個<form>
標簽中。
類似問題的答案發布在此處。
如果您的意思是同時插入多條記錄,請考慮查看表單集工廠 - [official docs] https://docs.djangoproject.com/en/3.2/topics/forms/formsets/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.