首页 > 代码库 > Django数据库数据表操作
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 =http://www.mamicode.com/ user.objects.all() #等同于SQL语句:SELECT * FROM user
假设我们要通过一个字段来获取数据(具有唯一性),则使用下面的语句:
onedata = http://www.mamicode.com/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数据库数据表操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。