如何将邮递员中的 JSON 格式数据发送到具有另一个模型外键的 django 模型?
How to send JSON format data in postman to django models that have a foreign key to another model?
我尝试使用邮递员向 django views.py
文件发送 POST 请求。
当我向没有 ForeignKey 字段的 django 模型发送 POST 和 GET 请求时,它正在工作。但是,当我尝试向具有 ForeignKey 字段的 django 模型发送 POST 请求时,它无法正常工作。我的问题是如何使用 postman 将 JSON 格式数据 发送到具有 Foregin Key 字段的 django 模型。
机型如下:
class Article(models.Model):
authorId=models.CharField(max_length=100)
authorResidence=models.CharField(max_length=100)
communtId=models.CharField(max_length=100)
content=models.TextField()
contentId=models.CharField(max_length=100)
source=models.CharField(max_length=100)
timestamp=models.IntegerField()
title=models.CharField(max_length=100)
class Interactions(models.Model):
userId=models.CharField(max_length=100,unique=True)
location=models.CharField(max_length=100)
eventType=models.IntegerField(unique=True)
articleId=models.ForeignKey(Article,on_delete=models.CASCADE)
communityId=models.CharField(max_length=100)
source=models.IntegerField()
timestamp=models.IntegerField()
我试过这种方式(在postman):
{
"userId":"153344",
"location":"Ethiopia",
"eventType":"1",
"articleId":"67353536",
"communityId":"1234567",
"source":"1",
"timestamp":"123456"
}
如您所见,articleId 是一个 foreignKey 字段。
这是输出:
{
"articleId": [
"Invalid pk \"67353536\" - object does not exist."
]
}
您收到此错误是因为您提交的 articleId 不存在。如果有一篇文章具有您发送的 articleId 值,您将不会收到错误。在保存您发送的数据之前,会检查是否存在具有 articleId 值的文章。您不能 link 到不存在的对象。
Django 模型默认有 id 字段,所以模型的主键将是 id。如果您在 Django 模型中使用外键,它会引用引用模型的主键。
您面临的是,您引用的是不存在的 ID - 意思是错误的 ID,或者,不存在具有该 ID 的文章实例。
step 1: get all the articles with postman
step 2: copy one of the id's of the articles
step 3: paste that id to articleId like shown below, if id is 2 then you should right like this
{
"userId":"153344",
"location":"Ethiopia",
"eventType":"1",
"articleId":"2",
"communityId":"1234567",
"source":"1",
"timestamp":"123456"
}
我尝试使用邮递员向 django views.py
文件发送 POST 请求。
当我向没有 ForeignKey 字段的 django 模型发送 POST 和 GET 请求时,它正在工作。但是,当我尝试向具有 ForeignKey 字段的 django 模型发送 POST 请求时,它无法正常工作。我的问题是如何使用 postman 将 JSON 格式数据 发送到具有 Foregin Key 字段的 django 模型。
机型如下:
class Article(models.Model):
authorId=models.CharField(max_length=100)
authorResidence=models.CharField(max_length=100)
communtId=models.CharField(max_length=100)
content=models.TextField()
contentId=models.CharField(max_length=100)
source=models.CharField(max_length=100)
timestamp=models.IntegerField()
title=models.CharField(max_length=100)
class Interactions(models.Model):
userId=models.CharField(max_length=100,unique=True)
location=models.CharField(max_length=100)
eventType=models.IntegerField(unique=True)
articleId=models.ForeignKey(Article,on_delete=models.CASCADE)
communityId=models.CharField(max_length=100)
source=models.IntegerField()
timestamp=models.IntegerField()
我试过这种方式(在postman):
{
"userId":"153344",
"location":"Ethiopia",
"eventType":"1",
"articleId":"67353536",
"communityId":"1234567",
"source":"1",
"timestamp":"123456"
}
如您所见,articleId 是一个 foreignKey 字段。 这是输出:
{
"articleId": [
"Invalid pk \"67353536\" - object does not exist."
]
}
您收到此错误是因为您提交的 articleId 不存在。如果有一篇文章具有您发送的 articleId 值,您将不会收到错误。在保存您发送的数据之前,会检查是否存在具有 articleId 值的文章。您不能 link 到不存在的对象。
Django 模型默认有 id 字段,所以模型的主键将是 id。如果您在 Django 模型中使用外键,它会引用引用模型的主键。 您面临的是,您引用的是不存在的 ID - 意思是错误的 ID,或者,不存在具有该 ID 的文章实例。
step 1: get all the articles with postman
step 2: copy one of the id's of the articles
step 3: paste that id to articleId like shown below, if id is 2 then you should right like this
{
"userId":"153344",
"location":"Ethiopia",
"eventType":"1",
"articleId":"2",
"communityId":"1234567",
"source":"1",
"timestamp":"123456"
}