簡體   English   中英

排除基於 Django 類的視圖中的字段不起作用

[英]Excluding Fields in Django Class Based Views Not Working

男孩,感覺就像我在這里嘗試了一切,但我無法正確呈現此表單(例如,使用字段子集)。 以下是相關項目(刪除了額外項目):

模型.py:

class Response(models.Model):
    public = models.BooleanField(default=False)
    question = models.CharField(max_length=255, default='', blank=True)

class ResponseForm(ModelForm):
    class Meta:
        model = Response
        fields = ['question']

視圖.py:

class ResponseCreate(CreateView):
    model = Response
    fields = ['question']

response_form.html:

<form action="" method="post">{% csrf_token %}
    {{ form.as_p }}
    <input type="submit" value="Create" />
</form>

我讀過的文檔的每一位,他們建議用excludeexcludesfieldfields中的元組,或列表的排列,並且無論什么“公”領域,似乎每一次露面! 想法?

謝謝你的幫助!

看起來您需要在視圖上指定form_class

class ResponseCreate(CreateView):
    model = Response
    form_class = ResponseForm

只是我想提一下,您實際上並不需要單獨創建 ModelForm。

使用模型時,通用視圖真的很出色。 這些通用視圖會自動創建一個ModelForm,只要它們能算出使用哪個模型類

你可以使用這個。

class Response(models.Model):
    public = models.BooleanField(default=False)
    question = models.CharField(max_length=255, default='', blank=True)

class ResponseCreate(CreateView):
    model = Response
    fields = ['question']

您可以在類表單中使用exclude字段:

class ResponseForm(ModelForm):
    class Meta:
        model = Response
        exclude = ['field_to_exclude']

class ResponseCreate(CreateView):
    model = Response
    form_class = ResponseForm

暫無
暫無

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

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