Как выполнить обратный поиск по внешнему ключу в полях администратора django?

Я использую django-filer в проекте и имею модель, которая выглядит следующим образом:

from django.db import models
from filer.fields.folder import FilerFolderField

class Company(models.Model):
    name = models.CharField(max_length=255)
    logo = FilerFolderField()

За company/admin.py Я бы хотел переопределить logo поле, так что я могу перечислить файлы в папке. Например, в оболочке я могу сделать это:

>>> from companies.models import Company
>>> c = Company.objects.get(pk=1)
>>> c.logo
<Folder: company a logos>
>>> c.logo.files
[<Image: logo-black.jpg>, <Image: logo-white.jpg>]

Так, например, когда я редактирую объект компании, я хотел бы видеть встроенную форму с логотипом в каждом поле.

Но я не уверен, как это сделать в моем CompanyAdmin; Я смотрел на оба formfield_for_foreignkey а также formfield_for_dbfield, но мне ни от одного не ясно, как я получу первичный ключ редактируемого экземпляра модели, чтобы я мог выполнить поиск.

1 ответ

Попробуйте создать собственное поле формы CompanyLogo, подклассифицирующее поле django-filer. Этот ответ предоставит больше информации о том, как выполнить поиск обратного внешнего ключа.

Другие вопросы по тегам