首页 > 解决方案 > django 管理视图继续显示外键的“(类名)项目对象(xxxxxxxxx)”

问题描述

我正在设置 django 模型并在 admin.py 上注册它们,在我注册 admin.ModelAdmin 并使用列表显示之前它显示得很好......它一直显示(项目对象)和外键列

这是我的 admin.py

class InventoryAdmin(admin.ModelAdmin):
list_per_page = settings.LIST_PER_PAGE
list_display = ('vchidemployee','vchserialnumber','dtedate','vchdocnum')

admin.site.register(Inventory,InventoryAdmin)

这是我的models.py

class Inventoryitem(models.Model):
vchserialnumber = models.CharField(db_column='vchSerialNumber', primary_key=True, max_length=50)  # Field name made lowercase.
vchserialnexsoft = models.CharField(db_column='vchSerialNexsoft', max_length=50, blank=True,)  # Field name made lowercase.
vchidcategory = models.ForeignKey(Itemcategory, models.DO_NOTHING, db_column='vchIdCategory')  # Field name made lowercase.
vchname = models.CharField(max_length=50)
intqty = models.IntegerField(db_column='intQty', default=1)  # Field name made lowercase.

class Meta:
    managed = False
    db_table = 'tblInventoryItem'

class Inventory(models.Model):
vchdocnum = models.CharField(db_column='vchDocNum', primary_key=True, max_length=50,verbose_name='document number', default=increment_inventory_number)  # Field name made lowercase.
vchserialnumber = models.ForeignKey(Inventoryitem, models.DO_NOTHING, db_column='vchSerialNumber', verbose_name='serial number')  # Field name made lowercase.
vchidemployee = models.ForeignKey(Employee, models.DO_NOTHING, db_column='vchIdEmployee', verbose_name='employee')  # Field name made lowercase.
dtedate = models.DateField(db_column='dteDate', verbose_name='date', default=datetime.date.today)  # Field name made lowercase.
def __str__(self):
    return ("%s , %s , %s , %s" % (self.vchidemployee.vchname, self.vchserialnumber.vchname, self.dtedate, self.vchdocnum))

class Meta:
    managed = False
    db_table = 'tblInventory'

管理员视图

那么如何更改管理视图而不是显示“项目对象(序列号)”以仅显示“序列号”

标签: python-3.xdjango-modelsmariadb

解决方案


我想通了,这是我的models.py中的错误


推荐阅读