"""核心应用公共组件:async 序列化器基类(adrf 0.1.14+ 需要 asave/acreate)。""" from rest_framework import serializers as drf_serializers from asgiref.sync import sync_to_async class AsyncModelSerializer(drf_serializers.ModelSerializer): """给所有需要的 model serializer 加 asave / acreate。""" async def asave(self, **kwargs): return await sync_to_async(self.save)(**kwargs) async def acreate(self, validated_data): return await sync_to_async(self.Meta.model.objects.create)(**validated_data) # 兼容旧路径:apps.core.views.AsyncModelSerializer from apps.core import views as _views # noqa: E402 if not hasattr(_views, "AsyncModelSerializer"): _views.AsyncModelSerializer = AsyncModelSerializer