我想在模型中创建外键关系,它实际上根据模型的另一个字段值为模型表单提供选择下拉列表。通常下拉列表显示__str__
方法返回值的值。我想保留它,因为它在其他地方使用。
例如,考虑两个模型Order
和Item
。
Item
包含名为item_code
和item_name
的字段。
__str__
将返回item_name
。
Order
模型将拥有Item
模型的外键。但我希望它在项目选择的下拉列表中提供item_code
字段值。
如何在不改变一般外键行为的情况下实现这一目标?
答案 0 :(得分:1)
您可以在表单中执行此操作,方法是使用自定义label_from_instance
方法定义ModelChoiceField的子类,如the documentation中所述。