自动将信号连接到自定义 Django 模型字段
Automatically connect signals to custom Django model fields
我为 Django 创建了一个自定义图像字段,它可以自动创建缩略图并执行一些其他操作。
from django.db.models.fields.files import ImageFieldFile
class ImageWithThumbsFieldFile(ImageFieldFile):
def __init__(self, *args, **kwargs):
...
现在我想 自动 连接一个 post_delete 信号,只要在模型中定义了这样的字段。我知道如何在定义模型时手动连接 post_delete 信号。但是我有办法在使用自定义字段时自动执行此操作吗?
你可以在contribute_to_class()
方法中完成:
class ImageWithThumbsFieldFile(ImageFieldFile):
...
def contribute_to_class(self, cls, name, **kwargs):
super(ImageWithThumbsFieldFile, self).contribute_to_class(
cls, name, **kwargs)
post_delete.connect(on_delete_callback, sender=cls)
我为 Django 创建了一个自定义图像字段,它可以自动创建缩略图并执行一些其他操作。
from django.db.models.fields.files import ImageFieldFile
class ImageWithThumbsFieldFile(ImageFieldFile):
def __init__(self, *args, **kwargs):
...
现在我想 自动 连接一个 post_delete 信号,只要在模型中定义了这样的字段。我知道如何在定义模型时手动连接 post_delete 信号。但是我有办法在使用自定义字段时自动执行此操作吗?
你可以在contribute_to_class()
方法中完成:
class ImageWithThumbsFieldFile(ImageFieldFile):
...
def contribute_to_class(self, cls, name, **kwargs):
super(ImageWithThumbsFieldFile, self).contribute_to_class(
cls, name, **kwargs)
post_delete.connect(on_delete_callback, sender=cls)