django - django "无效的 pk \"1\" - 对象不存在。" id是否存在
问题描述
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."
]
}
嗨,我在这里尝试使用swagger post方法在 django 中创建数据。在上面分享我如何发送数据。
returnreasons和返回模型中都有 1 的 id,但是它仍然给我响应,就像对象不存在一样。
请看一看
我失踪的地方。
解决方案
看起来您正在发送非常奇怪strings
的“returnreasons”:"1"
其中引号是该字符串的一部分,因此 Django 尝试使用 pk= 查找对象"1"
(使用引号而不是数字)。尝试从请求中删除引号。
推荐阅读
- r - 为什么某些 jsonl 文件无法在 SparklyR 中加载
- java - 异常:java.sql.SQLException:非法连接端口值 '3306:etude'
- app-inventor - MIT App Inventor 2 有没有办法刷新屏幕?
- c# - 使用 Chromium 在 WPF 中自动播放 YouTube 视频
- android - 如何在 Android Studio 中设置数据绑定?
- c++ - 为什么 switch 构造中的声明是合法的?
- python - 使用条件识别行后的 Xlsxwriter 条件格式
- excel - 用VBA写这个公式
- android - 检查是否已安装自定义恢复
- java - 改造返回空数据