选择字段作为ForeignKey时,如何更改select中的显示文本?我不仅需要显示FK的名称,还需要显示其父级的名称。
有人可以提供线索吗?
好吧,如果你希望它仅在admin中生效而不在全局中生效,则可以创建一个自定义ModelChoiceField子类,在自定义中使用该子类,ModelForm然后将相关的admin类设置为使用自定义表单。以Person@Enrique使用的模型具有FK的示例为例:
ModelChoiceField
ModelForm
Person@Enrique
class Invoice(models.Model): person = models.ForeignKey(Person) .... class InvoiceAdmin(admin.ModelAdmin): form = MyInvoiceAdminForm class MyInvoiceAdminForm(forms.ModelForm): person = CustomModelChoiceField(queryset=Person.objects.all()) class Meta: model = Invoice class CustomModelChoiceField(forms.ModelChoiceField): def label_from_instance(self, obj): return "%s %s" % (obj.first_name, obj.last_name)