Django数据库操作
刚学到Django的数据库操作,把它记录下来,方便以后查看: 在Django中定义数据库表,并使用Django提供的方法来对数据库进行操作(增、删、改、查) 1、定义3个数据库表:
class Group(models.Model):
name = models.CharField(max_length=50,default=None) class User(models.Model):
name = models.CharField(max_length=50,default=None)
Email = models.CharField(max_length=50,default=None) group_relation = models.ManyToManyField('Group',default=None) #生成多对多表 class Asset(models.Model):
hostname = models.CharField(max_length=50,default=None)
create_date = models.DateTimeField(auto_now_add=True)
update_date = models.DateTimeField(auto_now=True)
2、向数据库中添加内容
Asset.objects.create(hostname=name) #多对多添加数据
u1 = User.objects.filter(id=1)
g1 = Group.objects.filter(id=1)
u1.group_relation.add(g1)
g1.user_set.add(u1)
3、从数据库中删除内容
Asset.objects.get(id=id).delete()
# 多对多删除数据
u1 = User.objects.filter(id=1)
g1 = Group.objects.filter(id=1)
u1.group_relation.delete(g1)
g1.user_set.delete(u1)
4、修改数据库中的内容
#根据id修改hostname
obj = Asset.objects.get(id=id)
obj.hostname=hostname
obj.save() #所有id大于传入参数的,就将hostname修改
Asset.objects.filter(id__gt=id).update(hostname=hostname)
5、查询数据库中的内容
# 多对多获取数据
u1 = User.objects.filter(id=1)
g1 = Group.objects.filter(id=1)
u1.group_relation.all()
u1.group_relation.all().filter(id=1)
g1.user_set.all()
g1.user_set.all().filter(email='') #查找所有id大于传入参数的数据
Asset.objects.filter(id__gt=id)
#查找所有hostname包含传入参数的数据
Asset.objects.filter(hostname__contains=hostname)
#查找类型id等于5的所有用户信息---type__id:type表示UserInfo表中的type字段(对应type表的外键),__id表示与userinfo表相关联的type表的id
UserIfo.objects.filter(type__id = 5)
#取出所有数据
Asset.objects.all()
#取出所有数据的前两条数据
Asset.objects.all()[0:2]
# 取出所有数据,并进行排序---id:按id正序排列,倒序就用'-id'
Asset.objects.all().order_by('id')
# 取出所有数据中的id和hostname列数据
Asset.objects.all().values('id','hostname')
Django数据库操作的更多相关文章
- 从命令行运行django数据库操作
从命令行运行django数据库操作,报错: django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_T ...
- Django数据库操作(增删改查)
Django数据库操作(增删改查) 创建数据库中的一个表 class Business(models.Model): #自动创建ID列 caption = models.CharField(max_l ...
- Django 数据库操作
Django 数据库操作 Django运算表达式与Q对象/F对象 1 模型查询 概述: 1 查询集:表示从数据库中获取的对象的集合 2 查询集可以有多个过滤器,通过 逻辑运算符连接 3 过滤器就是一个 ...
- django数据库操作和中间件
数据库配置 django的数据库相关表配置在models.py文件中,数据库的连接相关信息配置在settings.py中 models.py相关相关参数配置 from django.db import ...
- 11.Django数据库操作(查)
django.db.models.query.QuerySet1.可迭代2.可切片 官方文档:https://docs.djangoproject.com/en/1.9/ref/models/quer ...
- django 数据库操作详解
Django配置使用mysql数据库 修改 settings.py 中的 DATABASES 注意:django框架不会自动帮我们生成mysql数据库,所以我们需要自己去创建. DATABASES ...
- Python Django 数据库操作
1. 建立app 在自己的工程项目目录下输入: python manage.py startapp myapp(你想建立的app名称) 建立一个叫myapp的app 这样,在你的工程项目目录下会出现一 ...
- Django 数据库操作进阶F和Q操作
Model中的F F 的操作通常的应用场景在于:公司对于每个员工,都涨500的工资.这个时候F就可以作为查询条件 1 2 3 from django.db.models import F models ...
- Python菜鸟之路:Django 数据库操作进阶F和Q操作
Model中的F F 的操作通常的应用场景在于:公司对于每个员工,都涨500的工资.这个时候F就可以作为查询条件 from django.db.models import F models.UserI ...
随机推荐
- java NIO-我们到底能走多远系列(39)
献给各位: Satisfied MindRed Hayes and Jack RhodesHow many times have you heard someone say,"If I ha ...
- Java-->实现群聊功能(C/S模式--TCP协议)
--> Java 对TCP协议的支持: --> java.net包中定义了两个类ServerSocket 和Socket ,分别用来实现双向连接的server 端和client 端. -- ...
- C# 托管资源和非托管资源
托管资源指的是.NET可以自动进行回收的资源,主要是指托管堆上分配的内存资源.托管资源的回收工作是不需要人工干预的,有.NET运行库在合适调用垃圾回收器进行回收. 非托管资源指的是.NET不知道如何回 ...
- Linux网络管理概述
概述:计算机基础知识.网络基础知识其实是所有的程序员所必须的,甚至已经不仅仅是程序员的专利,而是每一个人都应该掌握的计算机知识. 主要内容: 一.网络基础 二.Linux网络配置 三.Linux网络命 ...
- 《Java程序设计》第7周学习总结
学号20145220<Java程序设计>第7周学习总结 教材学习内容总结 12.1认识Lambda语法 12.1.1Lambda语法概览 在java中引入了Lambda的同时,与现有API ...
- linux之mysql启动问题
网站总是挂掉,查看到原来是mysql总是莫名其妙的挂掉 1.查看mysql日志的位置 mysql> show VARIABLES like '%log%'; +----------------- ...
- 课堂所讲整理:HTML--5JavaScript简介
一.JavaScript简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司 ...
- 课堂所讲整理:super和转型(修改版)
创建父类: package org.hanqi.pn0120; public class Father { private String name; private int age; public S ...
- java多线程之:深入JVM锁机制2-Lock (转载)
前文(深入JVM锁机制-synchronized)分析了JVM中的synchronized实现,本文继续分析JVM中的另一种锁Lock的实现.与synchronized不同的是,Lock完全用Java ...
- windows下多个python版本共存
方法/步骤 首先当然是安装你需要的两个不同版本的python,这里我安装的是2.7和3.3的,两个版本安装顺序无所谓. 接下来就是检查环境变量,缺少的我们需要添加.先找到环境变量的位置. ...