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

table

Я объявляю 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

Вернуться на верх