【发布时间】:2012-08-12 11:16:30
【问题描述】:
我正在使用 ModelForms 为网站制作表单,但我希望更好地控制选择框中显示的文本。
示例模型可能如下所示
class Test(models.Model)
ID = IntegerField()
Label = CharacterField()
recipient = ForeignKey(Person)
product = ForeignKey(Product)
所以,我的问题是,当我制作这个模型的modelForm时,外键字段被制作成选择字段,在基础值中有对象的主键,显示的文本是来自的文本对象__unicode__() 方法。在这种情况下,只显示产品 ID(这是一个序列号,对用户没有意义)。我希望能够制作一个自定义标签,例如“[序列],[产品名称]”。
我似乎在官方 Django 文档上找不到任何指针,所以我想知道是否有人会提供帮助? :)
【问题讨论】:
-
你不能改变模型的
__unicode__方法来显示预期的内容吗? -
这将是显而易见的解决方案,但是整个网站都使用了 unicode 方法,因此仅显示序列号很重要。所以这不是一个选择,恐怕
标签: python django forms select labels