Python Django ModelAdmin是否可以在;加上「;及;更改“;页?

Python Django ModelAdmin是否可以在;加上「;及;更改“;页?,python,django,Python,Django,我正在使用Django 1.9设计一个数据库网站,在我的模型中,我有一个“特许经营”表和一个“项目”表 以下是我的模型: from django.db import models class franchise(models.Model): """Parent to all entires in item db""" id = models.AutoField(primary_key=True) name = models.CharField(max_length=2

我正在使用Django 1.9设计一个数据库网站,在我的模型中,我有一个“特许经营”表和一个“项目”表

以下是我的模型:

from django.db import models


class franchise(models.Model):
    """Parent to all entires in item db"""
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=255)


class item(models.Model):
    """Core database containing all entries in db"""
    id = models.AutoField(primary_key=True)
    franchise = models.ForeignKey(franchise, on_delete=None)
    title = models.CharField(max_length=255)
    description = models.TextField()
正如您所看到的,“item”具有“特许经营”的外键

我的admin.py文件:

from django.contrib import admin
from db.models import *


# Displaying the franchise database
class FranchiseAdmin(admin.ModelAdmin):
    list_display = ('name',)

admin.site.register(franchise, FranchiseAdmin)


# Displaying the core database
class ItemAdmin(admin.ModelAdmin):
    # Get name of parent franchise
    def get_franchise(self, obj):
        return obj.franchise.name
    # Columns to display
    list_display = ('title', 'get_franchise', 'description')

admin.site.register(item, ItemAdmin)
“get_特许经营权”函数的作用是,我可以在列表页面上显示外键表中的“name”值。我希望在Django admin中的条目添加和更改页面中实现相同的功能


如何在“添加”和“更改”页面中显示外键值,以便在项目表中添加和更改行时可以看到父特许经营的“名称”?

您似乎忘记了将
\uuuu str\uuuuuuuuu
方法(或用于python 2的
\uuuuunicode\uuuu
添加到您的模型中。不需要创建特殊方法来只显示
ForeignKey
s的值

class franchise(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=255)

    def __str__(self):  # __unicode__ for py2
        return self.name

class ItemAdmin(admin.ModelAdmin):
    list_display = ('title', 'franchise', 'description')

我们如何更改字段的标题?。这是可行的,但字段的标题仍然显示主键的名称。然后您必须创建自定义方法,如@99LIFES did,并为其设置
short_description
。有关管理员自定义的详细信息,请参阅。