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 :地址表,会员在结账时储存的账单地址或者配送地址(这个与区域配送方 ...
随机推荐
- matlab --- plot画图
plot画的图形在上一个plot的figure中:hold on 添加图例:legend({'X','Y'}) 限制X轴Y轴的坐标范围:xlim([380 780]);ylim([0 2]) 或 ax ...
- android onActivityResult的执行
1.如果activity中重写了onActivityResult函数,同时添加在该activity的fragment也重写了onActivtyResult函数,那么会执行Activity的onActi ...
- Java并发编程原理与实战三:多线程与多进程的联系以及上下文切换所导致资源浪费问题
一.进程 考虑一个场景:浏览器,网易云音乐以及notepad++ 三个软件只能顺序执行是怎样一种场景呢?另外,假如有两个程序A和B,程序A在执行到一半的过程中,需要读取大量的数据输入(I/O操作),而 ...
- jdk1.8.0_45源码解读——LinkedList的实现
jdk1.8.0_45源码解读——LinkedList的实现 一.LinkedList概述 LinkedList是List和Deque接口的双向链表的实现.实现了所有可选列表操作,并允许包括null值 ...
- 如何写一个好bug
自己的总结,和大家分享~
- 【专题】计数问题(排列组合,容斥原理,Prufer序列)
[容斥原理] 对于统计指定排列方案数的问题,一个方案是空间中的一个元素. 定义集合x是满足排列中第x个数的限定条件的方案集合,设排列长度为S,则一共S个集合. 容斥原理的本质是考虑[集合交 或 集合交 ...
- CodeForces - 1009B Minimum Ternary String
You are given a ternary string (it is a string which consists only of characters '0', '1' and '2'). ...
- nc使用笔记
netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据.通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它. 现内网中有两台机器:Mac: 192.168.1.109 Ka ...
- HDU 5532 Almost Sorted Array (最长非递减子序列)
题目链接 Problem Description We are all familiar with sorting algorithms: quick sort, merge sort, heap s ...
- node的导入导出
node的每一个文件,都是一个域,那么里面所有的变量都不允许被外界引用,除非导出.要使用外界的变量,也必须使用导入的方式来导入.import 文件路径. css可以直接使用import +文件路径导入 ...