这是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来覆盖指向自定义视图的单个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
答案 0 :(得分:1)
django-filer中的文件只是常规模型。 FilerImageField是一个引擎盖下的filer.models.Image的ForeignKey。因此,您可以收听文件或图像模型的post_save信号,并在那里创建您的实例。
信号文档:https://docs.djangoproject.com/en/dev/ref/signals/#post-save