簡體   English   中英

在 Django 模型表單中為一個模型創建多個條目

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM