Django views.py изменяет json перед созданием модели
У меня есть приложение Django и модель Unit в нем.
TYPES = (
('offer', 'OFFER'),
('Category', 'CATEGORY'),
)
class Unit(models.Model):
id = models.CharField('ID', max_length=50, primary_key=True)
unit_type = models.CharField(max_length=30, choices=TYPES)
name = models.CharField('Name', max_length=50)
date = models.DateTimeField('Date of creation or last update', null=True)
parents_id = models.ForeignKey('self', related_name='children', blank=True, null=True, on_delete=models.CASCADE)
price = models.PositiveIntegerField('Price', default=0, blank=True, null=False)
Но в переданном мне json всегда есть массив единиц под названием 'items' и дата
"items": [
{
"type": "CATEGORY",
"name": "phones",
"id": "d515e43f-f3f6-4471-bb77-6b455017a2d2",
"parentId": "069cb8d7-bbdd-47d3-ad8f-82ef4c269df1"
},
{
"type": "OFFER",
"name": "jPhone 13",
"id": "863e1a7a-1304-42ae-943b-179184c077e3",
"parentId": "d515e43f-f3f6-4471-bb77-6b455017a2d2",
"price": 79999
},
{
"type": "OFFER",
"name": "Xomiа Readme 10",
"id": "b1d8fd7d-2ae3-47d5-b2f9-0f094af800d4",
"parentId": "d515e43f-f3f6-4471-bb77-6b455017a2d2",
"price": 59999
}
],
"updateDate": "2022-02-02T12:00:00.000Z"
Я хочу создать блок из каждого элемента в items и передать updateDate как дату каждому блоку. Как я могу сделать это с помощью представлений и сериализатора?
class UnitViewSet(viewsets.ModelViewSet):
serializer_class = UnitSerializer
queryset = Unit.objects.all()
from rest_framework import serializers
from .models import Unit
from rest_framework_recursive.fields import RecursiveField
class UnitSerializer(serializers.ModelSerializer):
children = serializers.ListField(child=RecursiveField())
class Meta:
model = Unit
fields = "__all__"