【问题标题】:Django foreign key with different model field values具有不同模型字段值的 Django 外键
【发布时间】:2018-01-06 17:02:42
【问题描述】:

我想在模型中创建外键关系,它实际上根据模型的另一个字段值为模型表单提供了一个选择下拉列表。通常下拉列表显示__str__ 方法返回值的值。我也想保留它,因为它在其他地方使用过。

例如,考虑两个模型OrderItem

Item 有名为item_codeitem_name 的字段。 __str__ 将返回 item_name

Order 模型将具有Item 模型的外键。但我希望它在下拉列表中提供item_code 字段值以供选择。

如何在不改变一般外键行为的情况下实现这一点?

【问题讨论】:

    标签: django django-models django-forms


    【解决方案1】:

    您可以在表单中执行此操作,方法是使用自定义 label_from_instance 方法定义 ModelChoiceField 的子类,如 the documentation 中所述。

    【讨论】:

    • @Adem 不,那是为了自定义 value 来自的字段,而不是表示。由于我从未理解过的原因,没有简单的方法可以指定表示来自特定字段 - 正如我提到的那样,您需要自定义字段,这在您链接到的后面的段落中进行了解释。
    猜你喜欢
    • 1970-01-01
    • 2019-02-13
    • 1970-01-01
    • 2020-12-23
    • 2020-09-09
    • 2015-08-22
    • 2015-10-14
    • 1970-01-01
    • 2011-03-20
    相关资源
    最近更新 更多