Как добавить поля list_display из обратного отношения в админке django

Я довольно новичок в django и модуле администратора. Я ищу способ добавить в класс администратора некоторые поля, которые я запрашиваю через обратное отношение.

В настоящее время я могу получить интересные поля и поместить их в одну колонку благодаря специальной функции используя list_diplay, но мне не удается создать поле list_display BY возвращаемого объекта запроса:

как пример, теперь я получаю как столбец:

|Inventory_id|   Mousqueton1 |
| 22         |    foo1,foo2  | 

и я хотел бы иметь такой вывод, чтобы легко создавать фильтры:

|Inventory_id|   Mousqueton1 |   Mousqueton2   |
| 22         |   foo1        |    foo2         |

Вот мой текущий models.py

class Kit(models.Model):
    inventory_id = models.CharField(max_length=20,unique=True)
    description = models.TextField(null=True)
    creation_date = models.DateField(auto_now_add=True)
    last_update = models.DateTimeField(auto_now=True)

class Mousquetons(models.Model):
    inventory_id = models.CharField(max_length=20,unique=True)
    serial = models.IntegerField(unique=False)
    description = models.TextField(null=True)
    creation_date = models.DateField(auto_now_add=True)
    last_update = models.DateTimeField(auto_now=True)
    kit = models.ForeignKey(Kit,on_delete=models.PROTECT,null=True)

и admin.py

@admin.register(Kit)
class KitAdmin(admin.ModelAdmin):
    list_display= ['inventory_id','m']

    def get_queryset(self, obj):
        qs = super(KitAdmin, self).get_queryset(obj)
        return qs.prefetch_related('mousquetons_set')

    def m(self, obj):
        return list(obj.mousquetons_set.all())

Возможно, мое моделирование данных не является правильным способом для выполнения такого рода операций, Любой совет будет замечательным. Спасибо !

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