簡體   English   中英

如何從外鍵關系創建Django表單?

[英]How to create a Django form from foreign key relationship?

我想創建一個多選問題表格,其中所有指向該問題的外鍵指向的選擇都顯示為復選框。

從類似的問題中,我收集到子類化ModelForms可能是實現此目的的方法。 但是我不知道如何將特定的question_id傳遞給ModelForm

目前,我正在嘗試以下操作:

來自model.py

class Question(models.Model):
    question = models.CharField(max_length=200)
    creationDate = models.DateTimeField('date published')
    author = models.ForeignKey(User)
    def __unicode__(self):
        return self.question

class Choice(models.Model):
    question = models.ForeignKey(Question)
    choice = models.CharField(max_length=200)
    correct = models.BooleanField()
    def __unicode__(self):
    return self.choice

因此,在forms.py ,我嘗試創建這樣一種形式:

class QuestionForm(forms.Form):
    def __init__(self, *args, **kwargs):
        super(QuestionForm, self).__init__(*args, **kwargs)
        question_id = kwargs.pop('question')
        self.fields['checkboxes'] = forms.ModelChoiceField(
             queryset = Choice.objects.filter(question = question_id))

views.py ,我創建一個QuestionForm ,將question_id作為構造函數參數傳遞。 但是我不斷收到NameError "name 'question_id' is not defined在構造MOdelChoiceField的QuestionForm中NameError "name 'question_id' is not defined

文檔討論了Meta類:

class ArticleForm(ModelForm):
    class Meta:
        model = Article

有幫助嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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