我创建了一个带有外键的模型:

class Book(models.Model):
    library = models.ForeignKey(Library, null=False, blank=False)
    ...

然后创建一个带有ModelForm的表单以显示给用户:
class BookSubmitForm(ModelForm):
    class Meta:
        model = Book

当我使用表单显示页面时,我会得到“库”选项以及默认出现的空白(--------)选项。

我认为通过在模型中具有null = False和blank = False可以摆脱ModelForm中的空白选择,但没有。我要怎么做才能只在列表中有实际选择,而没有那个呢?

最佳答案

参见ModelChoiceField。您必须将empty_label设置为None。因此,您的代码将类似于:

class BookSubmitForm(ModelForm):
    library = ModelChoiceField(queryset=Library.objects, empty_label=None)

    class Meta:
        model = Book

编辑:将字段名称更改为小写

关于django - Django,如何从modelform的choicefield中删除空白选择?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8798763/

10-12 20:56