Я следую приведенному выше учебному пособию here, чтобы создать общие представления класса для моего API. Однако я столкнулся с небольшой проблемой. Я хотел бы частично обновить модель позади представления. Раньше я мог это сделать, используя свойство partial
, когда я создал сериализатор. Однако кажется, что, как только я начну использовать общие представления на основе класса, я теряю возможность установить, могу ли я позволить частичные обновления модели. Как я могу переопределить свойство partial
ModelSerializer? Мой код довольно прост:Представления на основе класса Open Framework с частичными присваиваниями
class DejavuUserDetail(generics.RetrieveUpdateAPIView):
'''
Get a user or update a user
'''
lookup_field = "email"
queryset = DejavuUser.objects.all()
serializer_class = UserSerializer
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = DejavuUser
partial = True
def restore_object(self, attrs, instance=None):
"""
Given a dictionary of deserialized field values, either update
an existing model instance, or create a new model instance.
"""
if instance is not None:
#set the required fields and return the instance
Я пытаюсь получить доступ к API через PUT
Спасибо, Том, это сработало. Назначение на частичное было только мне отчаянно пытаться что угодно. – KerrM