Django数据库数据表操作
建立表单
django通过设置类来快速建表,打开models.py
例:
from __future__ import unicode_literals from django.db import models # Create your models here.
# 新建一个类叫user,其实就是新建一张叫user的表
class user(models.Model):
username = models.CharField(max_length = 20)
password = models.CharField(max_length = 20)
# 此函数是为了用该名字来显示对象
def __unicode__(self):
return self.username
我们可以看到数据库类有两个字段,分别是username和password,其实django还会默认添加一个id字段
同步数据库,在终端输入:
python manage.py makemigrations
python manage.py migrate
在可视化数据库看到此表
修改admin.py文件
from django.contrib import admin
from learning.models import user# 导入user类 # Register your models here.
admin.site.register(user)# 把user添加到admin
数据表的操作
每次对数据库操作都需要把其导入进来
from learning.models import user
- 插入
假设我们要插入一条username='ben'和password='ben'的记录(因为默认是非空的字段,所以要将所有字段都要填入,当然,默认的自增id除外),我们可以这样干
user(username='ben', password='ben').save()
#等同于SQL语句:INSERT INTO user(username,password) values ('ben','ben')
- 查询
假设我们要获取所有数据,则使用下面的语句:
alldata = user.objects.all()
#等同于SQL语句:SELECT * FROM user
假设我们要通过一个字段来获取数据(具有唯一性),则使用下面的语句:
onedata = user.objects.get(username='ben')
#约等同于SQL语句:SELECT * FROM userWHERE username='ben'
假设我们要通过过滤器来找多条数据,则使用下面的语句:
datas = user.objects.filter(password__in=['ben','sam','jack'])
#约等同于SQL语句:SELECT * FROM userWHERE username in ('ben','sam','jack')
- 操作具体举例:(在views.py文件中)
def login(username, password):
try:
person = user.objects.get(username=username)
try:
person = user.objects.get(username=username,password=password)
return '登录成功'
except:
return '登录密码错误'
except:
return '不存在该用户' def register(username, password):
try:
person = user.objects.get(username=username)
return '注册帐号已存在'
except:
user(username=username,password=password).save()
return '注册成功'
Django数据库数据表操作的更多相关文章
- 孤荷凌寒自学python第四十九天继续研究跨不同类型数据库的通用数据表操作函数
孤荷凌寒自学python第四十九天继续研究跨不同类型数据库的通用数据表操作函数 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 不同类型 ...
- SQL Server 基础 01 数据库、表操作
对着书慢慢学习,一天一点点! 数据库操作 (create.alter.drop) --3-3-1 /create database 语句创建数据库 create database testSQL - ...
- MySQL 数据表操作
MySQL 数据表操作 创建MySQL数据表需要以下信息: -表名: -表字段名: -定义每个表字段: 一.创建数据表 1)mysql> create table table_name (c ...
- SQL语句(一)SQL和数据库数据表的创建
SQL的组成 (1) 数据定义语言DDL(Data Definition Language) 用于数据库和数据表的创建.修改和删除等操作 CREATE (create) 创建数据库.数据表 ALTER ...
- Mysql之数据表操作
数据表操作: 查看当前数据库中所有的表: show tables; 查看当前使用数据库: select database(); 使用数据表: use 表名; 创建数据表: create table 数 ...
- Qt实用技巧:使用QTableView、QSqlTableMode与QSqlDatabase对数据库数据进行操作
本文章博客地址:http://blog.csdn.net/qq21497936/article/details/78615800 Qt实用技巧:使用QTableView.QSqlTableMode与Q ...
- Django生成数据表时报错
Django生成数据表时报错 WARNINGS: ?: (mysql.W002) MySQL Strict Mode is not set for database connection 'defau ...
- SQL Sever实验一 创建和删除数据库数据表
一. 实验目的 1. 熟悉SQL Server 2008 中SQL Server Management Studio的环境 2. 了解SQL Server ...
- opencart 3.0 版本数据库数据表字典(详细篇)
1.下文是opencart3.0版本数据库数据表字典,表字段与功能的介绍都比较详细. 数据表 address :地址表,会员在结账时储存的账单地址或者配送地址(这个与区域配送方 ...
随机推荐
- laravel 实用扩展包
1.beyondcode / laravel-self-diagnosis 环境检测.检测 php 版本.扩展 是否正常,数据库连接是否正常等 2.nunomaduro/larastan larave ...
- 安装mysql-5.6版本步骤与卸载
官网下载完解压后: 1.环境变量配置Path D:\mysql-5.6.40-winx64\bin(你的mySql5.6的路径到bin)2.找到D:\mysql-5.6.40-winx64文件中的 ...
- 来自Redis 作者的看法 —— Twemproxy
虽然大量用户使用Redis节点的大型农场,但从项目本身来看,Redis主要是单实例业务. 我有很大的计划与项目一起分发,在某种程度上我不再评估Redis的任何线程版本:对我来说,从Redis的角度看, ...
- git更换 拉取推送地址
更换:git remote set-url originhttp://git.caomall.cn/sucry/mouse.git」
- 在VC6/VC2005下使程序直接具有XP风格(XP Style):
原文 首先将以下文本保存为XpStyle.mainfest(后经实践,文件名和后缀是什么都无所谓) <?xml version="1.0" encoding="UT ...
- P1075 质因数分解
P1075 质因数分解 题目描述 已知正整数 n 是两个不同的质数的乘积,试求出两者中较大的那个质数. 输入输出格式 输入格式: 一个正整数 n . 输出格式: 一个正整数 p ,即较大的那个质数. ...
- 题解 P1967 【货车运输】
树链剖分+线段树 思路 貌似题解里没有树链剖分和线段树的,贡献一发. 首先明确题目要求:一辆车走某条路从x城到y城的边权最小值 我们把要求分开来看: 从x城到y城:我们需要走的路径将两点联通 边权最小 ...
- numpy/arrayobject.h”: No such file or directory
import numpyimport pyximportpyximport.install(setup_args={"script_args":["--compiler= ...
- AVC的三种规格
AVC其实就是H.264标准,是由ITU-T和ISO/IEC组成的联合视频组(JVT,Joint Video Team)一起开发的,ITU-T给这个标准命名为H.264(以前叫做H.26L),而ISO ...
- Java并发编程原理与实战三:多线程与多进程的联系以及上下文切换所导致资源浪费问题
一.进程 考虑一个场景:浏览器,网易云音乐以及notepad++ 三个软件只能顺序执行是怎样一种场景呢?另外,假如有两个程序A和B,程序A在执行到一半的过程中,需要读取大量的数据输入(I/O操作),而 ...