gpt4 book ai didi

python - 在 Django 管理中显示用户外键的字段

转载 作者:行者123 更新时间:2023-11-28 20:47:21 26 4
gpt4 key购买 nike

class Lab(Model):
responsible = ForeignKey(User)

这是我的 Django 模型的一个非常简化的版本。基本上问题出在 Django 管理中,当我想编辑或添加一个新的 Lab 对象时,包含 User 对象的下拉列表只显示 User.username 值,在我的例子中只是数字。

我希望下拉列表显示 User.last_name 值。

我该怎么做?

最佳答案

您必须为实验室管理员定义您自己的用户选择字段。

from django import forms
from django.contrib import admin


class UserChoiceField(forms.ModelChoiceField):
def label_from_instance(self, obj):
return obj.last_name

# Now you have to hook this field up to lab admin.

class LabAdmin(admin.ModelAdmin):
def formfield_for_foreignkey(self, db_field, request=None, **kwargs):
if db_field.name == 'responsible':
kwargs['form_class'] = UserChoiceField
return super(LabAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)

类似的东西。我没有测试它,所以可能会有一些错别字。希望这对您有所帮助!

关于python - 在 Django 管理中显示用户外键的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18911410/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com