当前位置: 首页 > 面试题库 >

Django admin-更改ForeignKey显示文本

简嘉赐
2023-03-14
问题内容

选择字段作为ForeignKey时,如何更改select中的显示文本?我不仅需要显示FK的名称,还需要显示其父级的名称。

有人可以提供线索吗?


问题答案:

好吧,如果你希望它仅在admin中生效而不在全局中生效,则可以创建一个自定义ModelChoiceField子类,在自定义中使用该子类,ModelForm然后将相关的admin类设置为使用自定义表单。以Person@Enrique使用的模型具有FK的示例为例:

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)


 类似资料:
  • 问题内容: 我用。字段之一是: 我需要更改其显示类型。我不想在显示中使用(或在Python 2中),而是要显示曲目的名称和日期。 我该怎么做? 问题答案: 子类并重写以返回曲目名称和日期。然后在中使用新字段。

  • 我正在使用RichTextFX的StyleClassedTextArea的一个实例,但在突出显示时似乎无法更改文本本身的颜色。 还有一个类似的问题:RichTextFx更改选定的文本颜色和行号背景,这对我很有帮助,但答案只更改实际的突出显示颜色,而不是突出显示时的文本本身。我希望突出显示的文本本身是白色的,以便更具可读性。 另一个问题的答案如下: 我尝试了其他方法来改变文本本身的颜色,例如: 但我

  • 我是SWT/JFace技术的新手,我发现了一个让我发疯的问题。在Eclipse RCP应用程序中,我有一个视图,其中放置了一个带有JFace TreeViewer的SWT树,该树通过标签提供程序提供标签和图标。根据客户要求,树的背景颜色为深蓝色,字体颜色为白色。当节点被选中时,这种颜色的组合导致节点文本的可视化效果不佳,文本不适合树区域,我们将鼠标指针放在节点上。不知何故出现了“本地高亮显示”。这

  • 在JavaFX应用程序中,我在choicebox旁边有一个choicebox和textfield。我想在文本域中的灰色文本框告诉用户要输入什么。但是,我希望提示文本根据ChoiceBox中选择的内容进行更改。 我在网上查找并找到了如何使用提示文本的textfield的代码,但我无法用ChoiceBox上的changeListener更改提示文本。 我试过了 而textfield之前已经用不同的提示

  • 问题内容: 默认情况下,每次加载表时phpMyAdmin都会显示30行(查询包含“ LIMIT 30”)。我通常希望看到(多达)几百行。 有没有办法更改默认设置? 问题答案: 在您的phpMyAdmin目录中,将有一个名为“ config.inc.php”的文件。 找到设置MaxRows值的行: 并将值更改为您想要的任何值。

  • null 在当前的系统配置中,有没有办法在我的触摸监视器上显示虚拟键盘?例如,告诉键盘它的所有者应用程序在哪里,以便它在正确的监视器上显示?