Как мне создать миксин, который я могу смешать в ASerializer
и BSerializer
, чтобы избежать дублирования кода? Моя проблема в том, что я не могу получить доступ к Meta.Model в миксине для запуска проверки уникальности.
class ASerializer(serializers.ModelSerializer):
z = serializers.PrimaryKeyRelatedField(
queryset=models.X.objects.all(),
pk_field=serializers.UUIDField(format='hex_verbose'),
validators=[
UniqueValidator(
queryset=models.A.objects.all()
)
]
)
class Meta:
model = A
fields = '__all__'
class BSerializer(serializers.ModelSerializer):
z = serializers.PrimaryKeyRelatedField(
queryset=models.X.objects.all(),
pk_field=serializers.UUIDField(format='hex_verbose'),
validators=[
UniqueValidator(
queryset=models.B.objects.all()
)
]
)
class Meta:
model = B
fields = '__all__'