Объект сериализатора структуры отдыха Django из ID
У меня есть этот сериализатор:
class OrderLineSerializer(serializers.ModelSerializer):
id = serializers.ReadOnlyField(source="item.id")
name = serializers.ReadOnlyField(source="item.name")
price = serializers.ReadOnlyField(source="item.price")
quantity = serializers.IntegerField(
validators=[MinValueValidator(0), MaxValueValidator(MAXNUMBERSIZE)]
)
class Meta:
model = OrderLine
fields = ("id", "name", "price", "quantity", "sub_total")
и это нормально, когда я отправляю данные пользователю, но есть ли способ сериализовать данные, которые я получаю от API без создания еще одного сериализатора.
если я получаю некоторый запрос API с таким содержанием
{id : 123, quantity : 10}
Он не получает элемент из базы данных.
есть ли способ сделать это или я должен создать специальный сериализатор?
Я считаю, что выделенный сериализатор - это то, что нужно, во-первых, вам не нужна сложность использования одного сериализатора. А чтобы создать новый для вашего ввода, потребуется всего 3 строки. Так что просто сделайте специальный сериализатор.
Отвечаю на свой собственный вопрос.
Сделать это на самом деле довольно просто.
Это просто комбинация использования required=False
в полях сериализатора и вызова сериализатора с помощью MySerializer(data=data, partial=True)