Django list_display не работает в обратной модели

Django list_display не работает в обратной модели, я хочу list_display название и производственную компанию двух разделенных, но связанных таблиц.

вот мой model.py

class ProjectBaseModel(models.Model):
title = models.CharField("Titel", max_length=100, blank=False, unique=True)
former_title = models.CharField("ehemaliger Titel", max_length=100, blank=True)
title_international = models.CharField(
    "Titel, international", max_length=100, blank=True, null=True, unique=True
)
program_length = models.PositiveSmallIntegerField(
    verbose_name="Länge in Min.", blank=True, validators=[MaxValueValidator(300)]
)
   
def __str__(self):
    return self.title

class Meta:
    abstract = True
    ordering = ["title"]


class FeatureFilm(ProjectBaseModel):
    class Meta:
        verbose_name = "Kinofilm"
        verbose_name_plural = "Kinofilme"


class ProjectCompanySet(models.Model):
featurefilm = models.ForeignKey(
    FeatureFilm, on_delete=models.CASCADE, null=True, blank=True
)
tv_movie = models.ForeignKey(
    TvMovie, on_delete=models.CASCADE, null=True, blank=True
)

production_company = models.ForeignKey(
    CompanyOrBranch,
    related_name="production_company",
    verbose_name="Produktionsfirma",
    on_delete=models.SET_NULL,
    blank=True,
    null=True,
)

Моя таблица FeatureFilm наследуется от таблицы ProjectBaseModel. Я хочу отобразить список FeatureFilm в админке django backend. В списке я хочу показать соответствующее название, но я также хочу показать поле production_company, которое является одной строкой таблицы ProductionCompanySet, которая является дочерней таблицей, связанной с таблицей FeatureFilm. поле production_company является внешним ключом к таблице CompanyOrBranch.

Здесь вы можете увидеть эту таблицу:

class CompanyOrBranch(CompanyBaseModel):
name = models.CharField(
    "Firma oder Niederlassung",
    max_length=60,
    blank=False,
)

и вот мой admin.py

from django.contrib import admin
from .models import (
   FeatureFilm,
   TvMovie,
   ProjectCompanySet,
   Vendor,
   StaffList,
   VendorVFX,
   QuoteAndEffort,
)

class ProjectCompanySetInLine(admin.StackedInline):
model = ProjectCompanySet
fields = (
    "production_company",
    "co_production",
    "distributor",
    "broadcast",
    "world_sales",
)
classes = ["collapse"]
extra = 0


class FeatureFilmAdmin(admin.ModelAdmin):
inlines = [
    QuoteAndEffortSetInLine,
    ProjectCompanySetInLine,
    VendorVFXSetInLine,
    VendorSetInLine,
    StaffListSetInLine,
]
list_display = ["title", "projectcompanyset__production_company", ]

Мой вопрос был недостаточно точным. Да, таблица FeatureFilm указывает с помощью Foreignkey на таблицу ProjectCompanySet. а в ней есть поле: production_company. На самом деле я хочу, чтобы мне показывалась первая запись ProjectCompanySet и из нее первая компания. За прошедшее время мне удалось добиться того, что мне отображается фукция str в ProjectCompany. Но если у меня несколько таблиц ProjectCompanySet, то тоже несколько раз. Но мне нужна только первая !!! а потом еще и строка production_company. что мне пока не удалось. вот мой пока расширенный код:

class FeatureFilmAdmin(admin.ModelAdmin):
inlines = [
    QuoteAndEffortSetInLine,
    ProjectCompanySetInLine,
    VendorVFXSetInLine,
    VendorSetInLine,
    StaffListSetInLine,
]
list_display = ["title", "program_length", "get_company_set"]

def get_company_set(self, Featurefilm):
    return FeatureFilm.objects.filter(pk=Featurefilm.id).values(
        "projectcompanyset__production_company__name"
    )
Вернуться на верх