django - serializer.save() 不将数据保存到管理数据库
问题描述
所以,我正在制作一个简单的 Web 应用程序,我将在其中使用 React JS 前端接口和表单从用户那里获取数据。Django 停留在我创建 CRUD 函数的背景中。
我的应用程序允许用户创建、编辑、删除和查看输入的数据。
编辑和查看工作得很好,但创建对我来说一直是个问题。浏览器控制台或 django 终端没有错误,但 React JS 前端更改未反映在 Django Admin 中。
现在,handleChange 只是监听 HTML 表单中所做的更改。Active Record 是我当前添加新数据的形式:
handleChange(e){
var value = e.target.value;
this.setState({
activeRecord:{
...this.state.activeRecord,
[e.target.name]:value
} }) }
handleSubmit() 只是将我的前端提交按钮连接到 Django 的 CRUD'S Create url。最后,我将当前对象状态设置回默认值。
handleSubmit(e){
e.preventDefault()
console.log('Item',this.state.activeRecord)
var csrftoken = this.getCookie('csrftoken')
var url = 'http://127.0.0.1:8080/DataCollection/create/'
fetch(url,{
method:'POST',
headers: {
'Content-type':'application/json',
'X-CSRFToken': csrftoken,
},
body:JSON.stringify(this.state.activeRecord)
}) .then((response)=>{
this.fetchTasks()
this.setState({
activeRecord:{
id: "",
full_name:"",
age:"",
gender:"",
weight:"",
height:"",
salary: "",
project_count: "",
job_domain: "",
experience: "",
no_of_jobs:"",
}
})
}).catch(function(error){
console.log('ERROR',error)
})
}
handleSubmit() 只是将我的前端提交按钮连接到 Django 的 CRUD'S Create url。
请注意,当我运行它时没有显示错误,但是handlSubmit() 函数中的第 2 行 console.log 显示了输入的值,这意味着我添加的数据至少达到了 react js。
因此,这让我觉得 Django 部分存在一些问题,因此,我在这个 subreddit 中发布了这个问题。
注意:我是一名有抱负的数据科学家,将于 2020 年 9 月开始攻读硕士学位。只是想在我的简历中添加一些 Web 应用程序开发技能。
任何建议将不胜感激......
创建视图:
@api_view(['POST'])
def createRecord(request):
serializer = InputValuesSerializers(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
b.) 序列化器:serializers.ModelSerializer 必须是这种方式。当我尝试使用 serializers.Serializer 时出现可怕的错误
类 InputValuesSerializers(serializers.ModelSerializer): 类 Meta: 模型 = InputValues 字段 = '所有'
我已经尝试了所有在线资源和讨论,但找不到解决方案。这真的很令人沮丧,因为我可以数据去往它应该去的地方,但只有一个声明可能会让我搞砸了。
我真的很感激任何帮助。
解决方案
推荐阅读
- android - 是否可以在侦听器中对 onClick 回调进行去抖动?
- azure - Grafana Alert/AzureMonitor:在 Grafana 中为图形创建警报规则时出现执行错误
- python - 将字典转换为浮点元素列表
- scenekit - 使用 coreML 进行 SceneKit 样式转换
- r - 根据行条件更新列数据
- android - Android Camera2CameraControl 需要很长时间才能反映新的 requestOptions
- c++ -
执行 swap() 时不一定包括 - 这怎么会成为问题? - visual-studio - Add custom xml lines to project
- flutter - Flutter Reorderables: Equality operator `==` error when implementing Shared Preferences
- c++ - Get path of a known HWND