Iam使用Django和Rest框架将数据发布到API中,但在使用另一个表的主键分配外键的表单数据时,会抛出错误
"Cannot assign "'12345'": "ResourceSection.resourceId" must be a "MasterResource" instance."
注意:12345确实存在(创建它是为了测试目的)
Models.py
class MasterResource(models.Model):
route_name = models.CharField(max_length=100)
resourceId = models.CharField(primary_key=True, max_length=100)
class ResourceSection(models.Model):
resourceId = models.ForeignKey(MasterResource, on_delete=models.CASCADE, default=1)
resource_name = models.CharField(max_length=100)
sectionId = models.CharField(primary_key=True, max_length=100)
Views.py
def create_resource_section(request):
if request.method == "POST":
sectionId = int(datetime.now(tz=timezone.utc).timestamp()*1000)
resource_name = request.POST.get("resource_name")
resourceId = request.POST.get("resourceId")
try:
section_object = ResourceSection(
resourceId = resourceId,
resource_name = resource_name,
sectionId = sectionId
)
section_object.save()
return HttpResponse(str(sectionId) + ' Section is successfully created')
except Exception as e:
return HttpResponseServerError(e)
为什么POST数据无法从MasterResource设置resourceId?我做错了什么
从上面提到的错误中,我可以看出您需要获取MasterResource对象,然后在Resource部分传递该对象
相关问题 更多 >
编程相关推荐