Закачки django-filer автоматически создают экземпляры модели

Вот мой app.model

from django.db import models
from filer.fields.image import FilerImageField

class Item(models.Model):
    ...
    image = FilerImageField()
    ...

Я хотел бы взломать процесс загрузки django-filer и автоматически создавать экземпляры Item для каждого изображения, получаемого django-filer.

У django-filer нет традиционного urls.py для меня, чтобы просто переопределить один шаблон URL, указывающий на пользовательский вид. Как я могу подойти к этому?

РЕДАКТИРОВАТЬ:

Благодаря подсказке от stefanfoulis я в итоге получаю следующий код:

from django.db import models
from django.db.models.signals import post_save
from django.dispatch import receiver
from filer.fields.image import FilerImageField
from filer.models import Image

class Item(models.Model):
    ...
    image = FilerImageField()
    ...

    @receiver(post_save, sender=Image)
    def filer_signal(sender, instance, created, **kwargs):
        Item.objects.create(
            ...
            image=instance,
            ...).save()
        return

1 ответ

Решение

Файлы в django-filer являются обычными моделями. FilerImageField является ForeignKey для filer.models.Image под капотом. Таким образом, вы можете прослушать сигнал post_save модели File или Image и создать там свой экземпляр.

Сигнальные документы: https://docs.djangoproject.com/en/dev/ref/signals/

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