Django数据库操作

刚学到Django的数据库操作,把它记录下来,方便以后查看:

在Django中定义数据库表,并使用Django提供的方法来对数据库进行操作(增、删、改、查)

1、定义3个数据库表:
 1 class Group(models.Model):
 2     name = models.CharField(max_length=50,default=None)
 3
 4 class User(models.Model):
 5     name = models.CharField(max_length=50,default=None)
 6     Email = models.CharField(max_length=50,default=None)
 7
 8     group_relation = models.ManyToManyField(‘Group‘,default=None)   #生成多对多表
 9
10 class Asset(models.Model):
11     hostname = models.CharField(max_length=50,default=None)
12     create_date = models.DateTimeField(auto_now_add=True)
13     update_date = models.DateTimeField(auto_now=True)
2、向数据库中添加内容
1 Asset.objects.create(hostname=name)
2
3 #多对多添加数据
4 u1 = User.objects.filter(id=1)
5 g1 = Group.objects.filter(id=1)
6 u1.group_relation.add(g1)
7 g1.user_set.add(u1)
3、从数据库中删除内容
1     Asset.objects.get(id=id).delete()
2
3     # 多对多删除数据
4     u1 = User.objects.filter(id=1)
5     g1 = Group.objects.filter(id=1)
6     u1.group_relation.delete(g1)
7     g1.user_set.delete(u1)
4、修改数据库中的内容
1     #根据id修改hostname
2     obj = Asset.objects.get(id=id)
3     obj.hostname=hostname
4     obj.save()
5
6     #所有id大于传入参数的,就将hostname修改
7     Asset.objects.filter(id__gt=id).update(hostname=hostname)
5、查询数据库中的内容
 1     # 多对多获取数据
 2     u1 = User.objects.filter(id=1)
 3     g1 = Group.objects.filter(id=1)
 4     u1.group_relation.all()
 5     u1.group_relation.all().filter(id=1)
 6     g1.user_set.all()
 7     g1.user_set.all().filter(email=‘‘)
 8
 9     #查找所有id大于传入参数的数据
10     Asset.objects.filter(id__gt=id)
11     #查找所有hostname包含传入参数的数据
12     Asset.objects.filter(hostname__contains=hostname)
13     #查找类型id等于5的所有用户信息---type__id:type表示UserInfo表中的type字段(对应type表的外键),__id表示与userinfo表相关联的type表的id
14     UserIfo.objects.filter(type__id = 5)
15     #取出所有数据
16     Asset.objects.all()
17     #取出所有数据的前两条数据
18     Asset.objects.all()[0:2]
19     # 取出所有数据,并进行排序---id:按id正序排列,倒序就用‘-id‘
20     Asset.objects.all().order_by(‘id‘)
21     # 取出所有数据中的id和hostname列数据
22     Asset.objects.all().values(‘id‘,‘hostname‘)
				
时间: 2024-10-11 21:28:39

Django数据库操作的相关文章

从命令行运行django数据库操作

从命令行运行django数据库操作,报错: django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before

从命令行执行django数据库操作

从命令行执行django数据库操作,报错: django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before

django数据库操作和中间件

数据库配置 django的数据库相关表配置在models.py文件中,数据库的连接相关信息配置在settings.py中 models.py相关相关参数配置 from django.db import models class userinfo(models.Model): name = models.CharField(max_length=30) email = models.EmailField() memo = models.TextField() 可用的字段: 1.models.Aut

Django数据库操作ORM

python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 基本配置 一.创建django程序 终端命令:django-admin startproject sitename IDE创建Django程序时,本质上都是自动执行上述命令 python manage.py runserver 0.0.0.0 python manage.py startapp a

django 数据库操作详解

你创建完数据模型,django会自动提供给你数据库抽象的API,可以创建,获取,修改,删除对象.本篇文档讲解如何使用API,包括外键相关查询以及多对多模式的操作等 我们参考下面模型,一个weblog: class Blog(models.Model): name = models.CharField(max_length=100) tagline = models.TextField() def __unicode__(self): return self.name class Author(m

Django 数据库操作相关

当我们在Django项目中的models.py下写好创建表的代码后.为了创建好这些数据库表,我们再一次请出我的工程管理助手 manage.py.激活虚拟环境,切换到 manage.py 文件所在的目录下,分别运行 python manage.py makemigrations 和 python manage.py migrate 命令: F:\myblog>python manage.py makemigrations Migrations for 'blog': blog\migrations

Python学习----第七模块笔记(Web开发进阶之Django数据库操作)

4.Django ORM 4.1.连接数据库 创建Django工程后运行该工程,会在工程根目录下创建db.sqlite3文件,为Django自带的sqlite3数据库(Django自带的功能也需要数据库支持),如果没有在settings.py文件中进行配置的话,数据将会保存在该数据库中. Django使用MySQL: # 修改settings.py中DATABASES = {}的内容为 DATABASES = { 'default': { 'ENGINE': 'django.db.backend

Python Django 数据库操作

1. 建立app 在自己的工程项目目录下输入: python manage.py startapp myapp(你想建立的app名称) 建立一个叫myapp的app 这样,在你的工程项目目录下会出现一个叫myapp的目录 2. 创建Model 在app目录下进入models.py 输入类似下面的代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class Publisher(models.Model):     name = models.CharField(

11.Django数据库操作(执行原生SQL)

1.使用extra方法 解释:结果集修改器,一种提供额外查询参数的机制 说明:依赖model模型 用在where后: Book.objects.filter(publisher_id="1").extra(where=["title='python学习1'"]) 用在select后 Book.objects.filter(publisher_id="1").extra(select={"count":"select