Я установил поле с именем cus_id
в поле первичного ключа, которое не является AutoField
.Мне нужно изменить pk alon, чтобы сохранить другие релевантные данные для того же идентификатора, который должен быть в том же индексе, вместо pk один должен быть изменен.
если я дал запрос через PATCH
/ PUT
, вместо обновления PK
создается новая запись, поэтому я прошел через django docs , в котором говорится:
Поле первичного ключа доступно только для чтения.Если вы измените значение первичного ключа для существующего объекта, а затем сохраните его, новый объект будет создан рядом со старым.
, но я использую Django Rest Framework для генерации API.Я могу добиться этого путем переопределения методов DRF GET.но я хочу обойтись без переопределения.Есть ли django
способ обновления PK
с использованием DRF
без переопределения метода get?
Мой взгляд:
class ModelViewSet(ModelCustomViewSet):
model = Model
queryset = Model.objects.all()
serializer_class = ModelSerializer
filter_fields = model._meta.get_all_field_names()
filter_backends = [DjangoFilterBackendExt, ]
Сериализатор:
class ModelSerializer(RequiredMixin):
class Meta:
model = Model
update_lookup_field = "cus_id"