Как выполнить обратный поиск по внешнему ключу в полях администратора 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. Этот ответ предоставит больше информации о том, как выполнить поиск обратного внешнего ключа.