【发布时间】:2010-10-18 20:43:54
【问题描述】:
我正在使用 Django 1.0.2。我写了一个由模型支持的 ModelForm。此模型有一个 ForeignKey,其中空白 = False。当 Django 为这个表单生成 HTML 时,它会为 ForeignKey 引用的表中的每一行创建一个带有一个选项的选择框。它还在列表顶部创建了一个没有值的选项并显示为一系列破折号:
<option value="">---------</option>
我想知道的是:
- 从选择框中删除此自动生成选项的最简洁方法是什么?
-
自定义它以使其显示为的最简洁的方法是:
<option value="">Select Item</option>
在寻找解决方案时,我遇到了Django ticket 4653,它给我的印象是其他人也有同样的问题,并且 Django 的默认行为可能已被修改。这张票已经有一年多了,所以我希望有一种更清洁的方法来完成这些事情。
感谢您的帮助,
杰夫
编辑:我已经这样配置 ForeignKey 字段:
verb = models.ForeignKey(Verb, blank=False, default=get_default_verb)
这确实设置了默认值,因此它不再是空/破折号选项,但不幸的是,它似乎无法解决我的任何一个问题。也就是说,空/破折号选项仍然出现在列表中。
【问题讨论】:
-
原来它被认为是 Django 中的一个错误;在这种情况下应该自动删除空选项:code.djangoproject.com/ticket/10792
标签: python django django-models django-forms