Django 芹菜任务类与DRF序列化程序

Django 芹菜任务类与DRF序列化程序,django,django-rest-framework,celery,Django,Django Rest Framework,Celery,我尝试在具有多重继承的同一类中使用芹菜任务和Django rest框架序列化程序 from celery import Task class ReceiveSerializer(Task, serializers.Serializer): def run(self, source, *args, **kwargs): self.save() def save(self, **kwargs): # call long running save met

我尝试在具有多重继承的同一类中使用芹菜任务和Django rest框架序列化程序

from celery import Task
class ReceiveSerializer(Task, serializers.Serializer):
    def run(self, source, *args, **kwargs):
        self.save()
    def save(self, **kwargs):
        # call long running save method
我出错了

  File "<>\serializers.py", line 217, in <module>
    class ReceiveSerializer(Task, serializers.Serializer):
  File "<>\workspace\www\lib\site-packages\celery-3.1.20-py2.7.egg\celery\app\task.py", line 199, in __new_
_
    tasks.register(new(cls, name, bases, attrs))
TypeError: Error when calling the metaclass bases
    metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
文件“\serializers.py”,第217行,在
类ReceiveSerializer(任务,Serializer.Serializer):
文件“\workspace\www\lib\site packages\cellery-3.1.20-py2.7.egg\cellery\app\task.py”,第199行,新_
_
任务.注册表(新的(cls、名称、基数、属性))
TypeError:调用元类基时出错
元类冲突:派生类的元类必须是其所有基元类的(非严格)子类
save方法必须在db中创建一长串对象(有时超过5分钟)。我不希望用户等待很长时间。
有没有办法做到这一点

可以使用混合器吗

class YourMixin:
    # if you want to trigger the task on save:
    def save(self, *args, **kwargs):
        ret = super().save(*args, **kwargs)
        some_task.apply_async((
            self.__class__.__name__,
            self.pk,
        ))
        return ret


@task()
def some_task(model_name, model_id):
    my_model = apps.get_model('django_app_name.{}'.format(model_name))
    obj = my_model.objects.get(pk=model_id)