Bonjour,

Dans un projet django qui implémente des web services rest_framework, tous les serializers ont la même forme comme ci-dessous :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

class SampleSerializer(serializers.ModelSerializer):

    class Meta:
        model = Sample
        fields = '__all__'


class SampleTagSerializer(serializers.ModelSerializer):

    class Meta:
        model = SampleTag
        fields = '__all__'
J'aimerais donc écrire un code plus générique et ne créer qu'un seul serializer qui affecterait dynamiquement la variable model de la classe Meta.

Le soucis est que la variable model n'accède pas aux variables extérieures, donc il semble impossible de l'affecter dynamiquement.

De plus, il faut aussi que le serializer puisse lire la variable data qui lui est passée en paramètre pour le cas d'une désérialisation comme cela :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
...
data = request.data
serializer = SampleSerializer(data=data)
Bref, au départ cela parait simple mais cela ne l'est pas du tout.

Merci pour votre aide.

A+