Django 列表:django 显示 FK 的对象而不是值



我正在使用django_listing来创建表:

class SpotTableView(ToolbarListingView):
template_name = f'{templates_dir}tables/spot.html'
update_success_redirect_url = LISTING_REDIRECT_NO_EDIT
save_to_database = True
def get_listing_instance_update_listing(self):
return Listing(Spot,
editable=True,
editing=False,
edit_on_demand_options={'has_paginator': False},
edit_on_demand=True,
gender__input_type='radio',
save_to_database=True,
selection_position='left',
selection_multiple=True,
selectable=True,
selection_initial=[3, 4],
per_page=5,
has_toolbar=True,
toolbar_placement='top',
toolbar=Toolbar(
InsertToolbarItem(),
EditToolbarItem(),
DeleteToolbarItem(),
SortSelectToolbarItem(),
PerPageSelectToolbarItem(choices='5,10,25,50,100,-1:All'),
)
)

加载数据表时,将显示 FK 的对象名称,而不是表示 FK 模型索引的整数。

桌子

我在模型中声明 FK,如下所示:mid = models.ForeignKey('Metadata', default=1, verbose_name="mid", on_delete=models.SET_DEFAULT, db_column="mid")如何使其显示 FK 的值,而不是模型?

在"元数据"模型中定义__str__

#models.py
class Metadata(models.Model):
.... 
....
def __str__(self):
return self.id

更多信息: https://docs.djangoproject.com/en/dev/ref/models/instances/#str

最新更新