django 快速数据库操作,不用SQL语句
配置models文件
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models
# Create your models here.
class UserMessage(models.Model):
#设置主键,必须加default属性
object_id = models.CharField(default="", max_length=20, primary_key=True, verbose_name=u"主键")
name = models.CharField(max_length=20, verbose_name=u"用户名")
email = models.EmailField(verbose_name=u"邮箱")
address = models.CharField(max_length=100, verbose_name="联系地址")
message = models.CharField(max_length=500, verbose_name="留言信息")
class Meta:
verbose_name = u"用户留言信息"
verbose_name_plural = verbose_name #如果不指定这个,保存内容会自动加一个s
# db_table = "user_message" #设置数据表名称
# ordering = "-object_id" #默认排序
生成更改
可以在数据库看到生成的新表
数据库的查询操作
views文件修改
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.shortcuts import render
from models import UserMessage
# Create your views here.
def getform(request):
#数据库查询
all_messages = UserMessage.objects.all() #查询所有
for message in all_messages:
print message.name, message.email,message.object_id,message.message,message.address
return render(request,'message_form.html')
数据库添加测试内容
运行web后查看到调试信息,和上面数据库的一样
不对所有数据查询,也可以对某几种属性查询,使用如下语句查询,下面两个条件是与的关系
all_messages = UserMessage.objects.filter(name = "神秘藏宝室",address="洛阳")
增加数据库操作
#增加数据库
user_message = UserMessage()
user_message.name = "神秘藏宝室2"
user_message.email = "test@xx.com"
user_message.object_id = "testid2"
user_message.message = "helloworld2"
user_message.address = "洛阳"
user_message.save()
重新运行项目,刷新网页,在数据库能看到数据了
删除数据库很简单
#数据库查询
all_messages = UserMessage.objects.filter(name = "神秘藏宝室",address="洛阳")
all_messages.delete() #全部删除
for message in all_messages:
print message.name, message.email,message.object_id,message.message,message.address
message.delete() #单条删除
django 快速数据库操作,不用SQL语句的更多相关文章
- Delphi XE8中开发DataSnap程序常见问题和解决方法 (二)想对DBExpress的TSQLDataSet写对数据库操作的SQL语句出错了!
当我们搞定DataSnap后,我们进入客户端程序开发阶段了,我们建立了客户端模块后,打算按照刚才开发服务器的步骤开发客户端程序,随后加入了DBExpress的TSQLDataSet,设定数据库连接后, ...
- 通过MyEclipse操作数据库,执行sql语句使我们不用切换多个工具,直接工作,方便快捷
通过MyEclipse操作数据库,执行sql语句使我们不用切换多个工具,直接工作,方便快捷.效果如下: 步骤1:通过MyEclipse中的window->show View->ot ...
- 通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷
原文:通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷 通过MyEclipse操作数据库,执行sql语句使我们不用切换多个工具,直接工作,方便快捷.效果如下: 步骤1:通过MyEcl ...
- Django模型-数据库操作
前言 前边记录的URLconf和Django模板全都是介绍页面展示的东西,也就是表现层的内容.由于Python先天具备简单而强大的数据库查询执行方法,Django 非常适合开发数据库驱动网站. 这篇开 ...
- Django 2.0 学习(16):Django ORM 数据库操作(下)
Django ORM数据库操作(下) 一.增加表记录 对于表单有两种方式: # 方式一:实例化对象就是一条表记录france_obj = models.Student(name="海地&qu ...
- django models 数据库操作
django models 数据库操作 创建模型 实例代码如下 from django.db import models class School(models.Model): pass class ...
- Django 2.0 学习(14):Django ORM 数据库操作(上)
Django ORM 数据库操作(上) ORM介绍 映射关系: 数据库表名 ---------->类名:数据库字段 ---------->类属性:数据库表一行数据 ----------&g ...
- Django与数据库操作
Django与数据库操作 数据库连接的方法 web 框架 django --- 自己内部实现 (ORM) + pymysql(连接) Flask,tornado --- pymysql SQLArch ...
- 【转载】 Sqlserver查看数据库死锁的SQL语句
在Sqlsever数据库中,有时候操作数据库过程中会进行锁表操作,在锁表操作的过程中,有时候会出现死锁的情况出现,这时候可以使用SQL语句来查询数据库死锁情况,主要通过系统数据库Master数据库来查 ...
随机推荐
- Hadoop--mapreduce编程实例1
前提准备: 1.hadoop安装运行正常.Hadoop安装配置请参考:Ubuntu下 Hadoop 1.2.1 配置安装 2.集成开发环境正常.集成开发环境配置请参考 :Ubuntu 搭建Hadoop ...
- R学习----数据类型
今天开始学习R语言了,没原因,就是想学 本人开发环境在ubuntu 16.04 LTS下 R命令提示符 终端直接输入R进入交互模式进行R学习.如下图 R脚本 # My first program in ...
- cannot be translated into a null value due to being declared as a primitive type. Consid
严重: Servlet.service() for servlet [note-portal] in context with path [] threw exception [Request pro ...
- poj3020 Antenna Placement 匈牙利算法求最小覆盖=最大匹配数(自身对应自身情况下要对半) 小圈圈圈点
/** 题目:poj3020 Antenna Placement 链接:http://poj.org/problem?id=3020 题意: 给一个由'*'或者'o'组成的n*m大小的图,你可以用一个 ...
- Storm学习笔记——简介
1. 简介 流式计算的历史 早在7.8年前诸如UC伯克利.斯坦福等大学就开始了对流式数据处理的研究,但是由于更多的关注于金融行业的业务场景或者互联网流量监控的业务场景,以及当时互联网数据场景的限制,造 ...
- sql server 订阅发布的配置
网上sql server 的发布订阅功能的教程很多,但是很多东西写的不是很详细,常常给人误解,现在根据自己的情况从新整理一下: 1.服务器端 然后一路下一步, 2.订阅端(重点) 给服务器在本地取一 ...
- 日历类Calendar
在早期的JDK版本中,日期(Date)类附有两大功能:(1)允许用年.月.日.时.分.秒来解释日期:(2)允许对表示日期的字符串进行格式化和句法分析.在JDK1.1中提供了类Calendar来完成第一 ...
- lstrcpyn
看代码时遇到的一些不会用的函数,记录下来. 1. lstrcpyn LPTSTR lstrcpyn( __out LPTSTR lpString1, __in LPCTSTR lpString2, _ ...
- js for in
JavaScript中for..in循环陷阱 大家都知道在JavaScript中提供了两种方式迭代对象: (1)for 循环: (2)for..in循环: 使用for循环进行迭代数组对象,想必 ...
- C++ TR1、TR2与boost的关系
C++ Technical Report 1 (TR1)是ISO/IEC TR 19768, C++ Library Extensions(函式库扩充)的一般名称.TR1是一份文件,内容提出了对C++ ...