0
votes

Custome Le champ de l'affichage à Django reste

J'utilise django repose et je saurais s'il est possible de personnaliser l'affichage des attributs dans la réponse JSON.

Exemple: xxx

et mon sérialiseur: xxx

mais plutôt pour voir {'Nom': "Sa Valeur '}, je verrais {' Mon nom de modèle personnalisé ': "Sa valeur'}.

Pensez-vous qu'il est possible?

Merci beaucoup.


0 commentaires

3 Réponses :


1
votes

Vous pouvez remplacer le to_representation méthode de la Serializer pour modifier le nom du champ:

class MyModelSerializer(serializers.ModelSerializer):
    class Meta:
        model = MyModel
        fields = ['name']

    def to_representation(self, instance):
        ret = super().to_representation(instance)
        # ret is an OrderedDict, so this will change the order of the result.
        ret['custom_name'] = ret.pop('name')
        return ret

    def to_internal_value(self, data):
        # if you want to write to the serializer using your custom name.
        data['name'] = data.pop('custom_name')
        return super().to_internal_value(data)


1 commentaires

Si vous ne voulez pas perdre l'ordre de vos données, vous pouvez vérifier cette question: Stackoverflow.com/questions/12150872/...



0
votes

Une façon de le faire, vous pouvez le faire consiste à utiliser un SerialIzermethodfield ( https://www.django-res-framework.org/apiGuide/fields/#serializerthodfield ) xxx

Bien que si vous voulez le champ Nom Pour avoir des espaces dedans, cette solution ne fonctionnera pas pour vous.


0 commentaires

0
votes

Vous pouvez le faire de cette manière xxx


0 commentaires