Списки 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