django modeForm总结!
来源:互联网 发布:boss软件 编辑:程序博客网 时间:2024/06/04 17:42
从前台通过ajax将整个model的字段发送过来,在view层肯定是可以直接操作model来保存删除记录的,而不需要一个个将字段取出然后自己动手对应到model上
model类:
class SysMenu(models.Model): id = models.CharField(db_column='ID', primary_key=True, max_length=50) # Field name made lowercase. menuno = models.CharField(db_column='MenuNo', max_length=50) # Field name made lowercase. parentid = models.CharField(db_column='ParentID', max_length=50, blank=True, null=True) # Field name made lowercase. menuorder = models.CharField(db_column='MenuOrder', max_length=50, blank=True, null=True) # Field name made lowercase. name = models.CharField(db_column='Name', max_length=200) # Field name made lowercase. icon = models.CharField(db_column='Icon', max_length=500, blank=True, null=True) # Field name made lowercase. url = models.CharField(db_column='URL', max_length=500, blank=True, null=True) # Field name made lowercase. isleaf = models.BooleanField(db_column='IsLeaf') # Field name made lowercase. This field type is a guess. isvisiable = models.BooleanField(db_column='IsVisiable') # Field name made lowercase. This field type is a guess. level = models.IntegerField(db_column='Level') # Field name made lowercase. def __unicode__(self): return self.name class Meta: managed = False db_table = 'sys_menu'之后要建立model类对象的modelForm:
# modelFormclass SysMenuForm(ModelForm): class Meta: model = SysMenu fields = '__all__'然后再view层就可以直接调用modelForm来达到整体操作model的效果:
def add_menu(request): if request.method == 'POST': _sysmenu_form = SysMenuForm(request.POST) _ss = _sysmenu_form.is_valid() if _sysmenu_form.is_valid(): _sysmenu_form.Meta.model.id=uuid.uuid1() exam_info = _sysmenu_form.save() exam_info.save() return HttpResponse("{'IsError':false,'ErrorMsg':'添加菜单成功!'}") else: return HttpResponse("{'IsError':true,'ErrorMsg':'get请求错误!'}")
此时将post的所有数据都直接填充进modelForm然后保存就可以直接达到操作model的效果;
执行成功之后数据库增加了一条menu的记录。
如果is_valid()报错可以单步调试查看他的errors:
前端需要注意的是:
发送ajax时候,key需要和model的字段对应并且注意大小写,一般model的字段会将数据库里大写的字段变成小写。
0 0
- django modeForm总结!
- django总结
- django总结
- django 总结
- Django笔记-Models总结
- django字段类型总结
- django的模型总结
- Django-表单学习总结
- Django问题总结
- django orm总结
- django form总结
- Django学习总结一
- Django使用总结
- Django知识点总结(一)
- Django开发问题总结
- Django知识点总结(二)
- 总结django form
- 总结django form
- 非负矩阵分解
- ubuntu下环境变量设置(java, eclipse)
- 【CSS】css层叠特性总结
- HDU 4310 Hero(贪心)
- http协议简介
- django modeForm总结!
- 超轻量级缓存技术——EhCache
- Android中的“再按一次返回键退出程序”实现
- nginx根据日志清除缓存脚本
- oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解
- 奇异值分解和非负矩阵分解
- 【应用篇】Activiti监听与业务颗粒结合的简单应用(三)
- 构筑极致用户体验-ROADs
- Android总结篇系列:Android Intent