Django REPOS Cadre sérialiseur champ requis=false

à partir de la documentation:

read_only
Activez cette option pour vous assurer que le champ est utilisé lors de la sérialisation d'une représentation, mais il n'est pas utilisé lors de la mise à jour d'une instance lors de la désérialisation.

Par défaut à False

nécessaire
Normalement, une erreur est levée si un champ n'est pas fourni lors de la désérialisation. La valeur false si ce champ n'est pas tenu d'être présent lors de la désérialisation.

Par défaut à True.

J'ai donc un modèle qui a un champ qui n'est pas nullable mais je veux qu'il soit peuplé de la pre_save méthode, donc j'ai mis le champ de required=False dans sérialiseur, mais ne semble pas fonctionner. Je suis encore en train d'erreur lors de la sauvegarde de l'enregistrement.

class FavoriteListSerializer(serializers.ModelSerializer):
    owner = serializers.IntegerField(required=False)
    class Meta:
        model = models.FavoriteList

Mise à jour:
J'ai ajouté serializer_class = serializers.FavoriteListSerializer à la ViewSet, maintenant, au lieu de se This field is required, qui, je pense, a passé la validation, mais ensuite je suis This field cannot be null. j'ai vérifié les pre_save méthode n'est pas en cours d'exécution, des idées?

InformationsquelleAutor James Lin | 2013-11-05