django "Invalid pk \" 1 \ "- объект не существует." существует ли идентификатор - PullRequest
0 голосов
/ 22 марта 2020
class ReturnItemsSerializer(serializers.ModelSerializer):
    returns = serializers.PrimaryKeyRelatedField(queryset=ReturnItems.objects.all())
    returnreasons = serializers.PrimaryKeyRelatedField(queryset=ReturnReasons.objects.all())

    class Meta:
        model = ReturnItems
        fields = [
            "id",
            "updated_at",
            "returns",
            "returnreasons"

        ]
        depth = 1


class ReturnItems(models.Model):  
    updated_at = models.CharField(max_length=256, null=True, blank=True)
    returns = models.ForeignKey(Returns,on_delete=models.CASCADE, related_name='returnitems',  null=True, blank=True)
    returnreasons = models.ForeignKey(ReturnReasons,on_delete=models.CASCADE, related_name='returnitems', null=True, blank=True)



{
"returnreasons": 1,
"returns": 1
}


{
"returns": [
    "Invalid pk \"1\" - object does not exist."
],
"returnreasons": [
    "Invalid pk \"1\" - object does not exist."
]
}

Привет, я пытаюсь создать данные в django, используя swagger post . Выше рассказываете, как я отправляю данные.

Идентификатор с 1 в обеих returnreasons и возвращает модель, но, тем не менее, он дает мне ответ, как объект не существует.

Пожалуйста, посмотрите

Где я пропал.

1 Ответ

0 голосов
/ 22 марта 2020

Похоже, вы отправляете действительно странные strings, такие как "returnreasons": "1", где кавычки являются частью этой строки, поэтому Django пытается найти объекты с pk = "1" (с кавычками вместо просто числа ). Попробуйте удалить цитаты из запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...