list_display中如何显示外键中的信息
时间: 2024-03-27 22:35:38 浏览: 43
在 Django Admin 中,如果你想要在 `list_display` 中显示外键中的信息,可以使用 `__` 符号来访问外键关联的模型。例如,假设你有一个 `Staff` 模型和一个 `Department` 模型,`Staff` 模型有一个外键字段 `department` 关联到 `Department` 模型,你可以使用以下方式在 `StaffAdmin` 的 `list_display` 中显示外键中的信息:
```python
from django.contrib import admin
from .models import Staff
class StaffAdmin(admin.ModelAdmin):
list_display = ('name', 'email', 'department_name')
def department_name(self, obj):
return obj.department.name
admin.site.register(Staff, StaffAdmin)
```
在这个例子中,我们在 `StaffAdmin` 中定义了一个 `department_name` 方法来显示 `Staff` 模型中外键字段 `department` 关联的 `Department` 模型的名称。我们将 `department_name` 方法添加到 `list_display` 中,这样它就会显示在 Django Admin 中的 `Staff` 列表中。
注意,我们使用 `obj.department.name` 访问外键关联的 `Department` 模型的名称。这里的 `__` 符号允许我们访问外键关联的模型。在这个例子中,我们使用了 `department__name` 来访问 `Staff` 模型中外键字段 `department` 关联的 `Department` 模型的名称。
如果你想在 `list_display` 中显示其他关联模型的信息,也可以使用 `__` 符号来访问它们。例如,如果 `Department` 模型有一个外键字段 `manager` 关联到 `Staff` 模型,你可以使用 `manager__name` 来访问 `Department` 模型中外键字段 `manager` 关联的 `Staff` 模型的名称。
阅读全文