Genericviewset(mixins.UpdateModelMixin)

У меня проблема с моим кодом, я пытаюсь написать общий набор представлений в DRF для обновления моего представления, но у меня возникает ошибка. Вот моя модель портфеля:


    class Portfolio(models.Model):
    name = models.CharField(max_length=50, blank=False, null=True, default='portfolio')
    user = models.ForeignKey('accounts.User', on_delete=models.DO_NOTHING, related_name='investor')
    assets = models.ManyToManyField(Assets, related_name='portfolio_assets')

Это мой сериализатор:


    class PortfolioSerializer(serializers.ModelSerializer):
    class Meta:
        model = Portfolio
        fields = ['id', 'name', 'user', 'assets']

и в конце мой вид и URL:


    class PortfolioUpdateDetailDestroy(viewsets.GenericViewSet, mixins.RetrieveModelMixin,
                             mixins.DestroyModelMixin, mixins.UpdateModelMixin
                             ):
    queryset = Portfolio.objects.all()
    serializer_class = PortfolioSerializer

    def get(self, request, pk):
        return self.retrieve(request, pk)

    def put(self, request, pk):
        return self.update(request, pk)

router = DefaultRouter()
router.register("Portfolio_Detail", PortfolioUpdateDetailDestroy, basename="Portfolio_Detail")

urlpatterns = [
    path('', include(router.urls))]

Когда я пытаюсь обновить объект, я должен снова передать все поля, то есть я должен обновить все поля вместе, если я хочу обновить только поле имени, я получаю эту ошибку


    "user": [
    "Invalid pk \"0\" - object does not exist."],
  "assets": [
    "Invalid pk \"0\" - object does not exist."]


Вернуться на верх