Я использую Django rest Framework 3.7.7
Я хочу сериализовать экземпляр объекта и затем десериализовать его (без повторного сохранения в БД).Поэтому я создал сериализатор, который наследуется от serializers.ModelSerializer.К этому экземпляру модели я иногда добавляю поле в запросе, которое не является частью модели, используя свойство setter.Я также добавил его в сериализатор, но при сериализации - я не вижу это поле в сериализованных данных.
Это модель:
class MyModel(models.Model):
manager = models.CharField(max_length=200)
reviewer = models.CharField(max_length=200)
@property
def note(self):
return getattr(self, '_note', None)
@note.setter
def note(self, value):
self._note = value
Это модельсериализатор:
class MyModelSerializer(serializers.ModelSerializer):
note = serializers.CharField(write_only=True, required=False, max_length=1000, allow_null=True)
class Meta:
model = MyModel
fields = [
'manager',
'reviewer',
'note'
]
Вот как я использую сериализатор:
ser_instance = MyModelSerializer(self.instance)
ser_data = ser_instance.data
похоже, что ser_instance.data
содержит только данные полей модели (без 'примечания')