这是 myapp.model
from django.db import models
from filer.fields.image import FilerImageField
class Item(models.Model):
...
image = FilerImageField()
...
我想在 django-filer 上传过程中进行破解,并为 django-filer 接收到的每个图像自动创建 Item 实例。
django-filer 没有传统的 urls.py 可以让我覆盖指向自定义 View 的单个 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
请您参考如下方法:
django-filer 中的文件只是常规模型。 FilerImageField 是 filer.models.Image 的外键。因此,您可以收听文件或图像模型的 post_save 信号,并在那里创建您的实例。
信号文档:https://docs.djangoproject.com/en/dev/ref/signals/#post-save
