当前位置:首页 » 操作系统 » django数据库查询

django数据库查询

发布时间: 2022-05-28 01:22:16

‘壹’ django处理查询数据

这个是数据库的数据类型的自动映射,你用cursor.fetchall()看看取出的数据显示是否正常。

‘贰’ django中怎么使用两个限定条件在mysql数据库中进行查询

可以使用逻辑关系运算符
例如:
SELECT * FROM table_name
WHERE (条件1 and 条件2) 查询两个条件都符合的结果,
或者
SELECT * FROM table_name
WHERE (条件1 or 条件2) 查询符合两个条件中满足任一条件的结果。

‘叁’ django 如何直接用模型代码(ORM)来当场测试查看查询数据库的效果

在django项目中使用: python manage.py shell

from django.db import connection
#import 相关模型的class
#执行query查询
print connection.queries

‘肆’ django数据库查询操作

1.get(**kwargs)
解释:返回与筛选条件相匹配的Model对象,返回结果有且只有一个。
说明:如果符合条件的对象多于一个抛出MultipleObjectsReturned异常,如果没有找到抛出DoesNotExist异常
语法:ModelName.objects.get(itemName=itemNameValue)
例子:Author.objects.get(id=1)

‘伍’ 如何在django shell中查看执行的数据库sql语句

说个比较简单的方式吧,比如下面的代码:

>>> from django.contrib.auth.admin import User
>>> User.objects.all()
>>> u=User.objects.all()
>>> print u.query
SELECT "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined" FROM "auth_user"

在这里直接将查询结果调用其query属性就可以获取其执行的结果了,只是你提供的那种方式是不想手动进行这么繁琐的操作而已

‘陆’ django 查询MySQL数据库

创建mysite目录
django-admin.py startproject mysite这个命令作用是:这将创建在当前目录创建一个mysite目录
前提是从命令行上cd到你想储存你代码的目录,然后生成各种子目录.

首先需要注意的是文件目录

这里面的文件大致作用:
books这个 文件夹存放的是新建数据库的各种信息
books/templates这个目录下装的是网页的布局,当然这个网页的布局就是show.html所提供
books/views.py定义函数,并且把show.html引入进去,文件内容如下:
from django.shortcuts import render,render_to_response

from django.template import loader

from books import models

# Create your views here.

def show(request):
# publisher_list = [{'name':"gongye",'city':'beijing'}]
publisher_list = models.Publisher.objects.all()
return render_to_response('show.html',{'publisher_list':publisher_list})
12345678910111213

books/models.py文件存放的是你所创建的数据库,代码如下:
#coding=utf-8
from __future__ import unicode_literals

from django.db import models

# Create your models here.

class Publisher(models.Model):
name = models.CharField(max_length = 30)
address = models.CharField(max_length = 50)
city = models.CharField(max_length = 60)
state_province = models.CharField(max_length = 30)
country = models.CharField(max_length = 50)
website = models.URLField()
# __unicode__这个函数用来返回某个值可以很好的用于查询和admin界面的显示
def __unicode__(self):
return self.name

class Author(models.Model):
first_name = models.CharField(max_length = 30)
last_name = models.CharField(max_length = 40)
email = models.EmailField(blank = True,verbose_name = 'e-mail')
def __unicode__(self):
return u'%s %s'%(self.first_name,self.last_name)

class Book(models.Model):
title = models.CharField(max_length = 100)
author = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField(blank = True,null = True)
def __unicode__(self):
return self.title


books下其他的文件就是在创建的过程中自己产生的.
website/templates文件里存放的是各种显示的静态网页布局,这么多html文件,只要你在访问测试的时候,端口号后面加上html的文件名字就行.比如,我要访问templates/base.html文件,输入网址:localhost:8000/base就可以.
website/settings.py文件是Django的设置文档,里面的INSTALLED_APPS添加多个应用,比如这里面我九添加了books应用,代码如下:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'books',

‘柒’ django2.0,实现搜索数据库数据并显示在网页的功能

我没环境,不方便帮你写代码,但可以告诉你思路:

  1. 你想用ajax方式查数据,第一步,你已经获取到了输入表单的的值,这很好。

  2. 第二步,你需要添加一个查询接口路由,和view,用来返回查询到后数据。

  3. 第三步,让前端js代码,用ajax的方式,请求你添加的查询路由地址,带上参数。

  4. 第四步,在路由对应的view代码中,获取通过url请求传过来的参数。

  5. 第五步,在view代码中,对参数进行检查,通过后,调用数据查询方法,获取结果集。

  6. 第六步,在view代码中,将结果集转为json(一般是json),返回。

  7. 第七步,ajax在收到返回结果后,将数据显示在网页中。

  8. 第八步,调整数据显示的样式,使之美观一点。

  9. 如有不明可以追问,或私信留言。

‘捌’ django数据表如何多条件查询

Students="你定义的 Models "
Students.objects.filter(name='张三').filter(num='123')


‘玖’ Django如何多表联合统计查询

如果你觉着使用自带ORM查询费劲的话。直接获取数据库连接,然后执行sql语句。

def my_custom_sql(): from django.db import connection, transaction cursor = connection.cursor() # 数据修改操作——提交要求 cursor.execute("UPDATE bar SET foo = 1 WHERE baz = %s", [self.baz]) transaction.commit_unless_managed() # 数据检索操作,不需要提交 cursor.execute("SELECT foo FROM bar WHERE baz = %s", [self.baz]) row = cursor.fetchone() return row

多数据

from django.db import connectionscursor = connections['my_db_alias'].cursor()# Your code here...transaction.commit_unless_managed(using='my_db_alias')

通常我们不需要手动调用

transaction.commit_unless_managed(

),我们可以这样做:
@commit_on_successdef my_custom_sql_view(request, value): from django.db import connection, transaction cursor = connection.cursor() # Data modifying operation cursor.execute("UPDATE bar SET foo = 1 WHERE baz = %s", [value]) # Since we modified data, mark the transaction as dirty transaction.set_dirty() # Data retrieval operation. This doesn't dirty the transaction, # so no call to set_dirty() is required. cursor.execute("SELECT foo FROM bar WHERE baz = %s", [value]) row = cursor.fetchone() return render_to_response('template.html', {'row': row})

热点内容
唐嫣访问 发布:2024-10-28 03:23:32 浏览:520
k2p选择内核编译版本 发布:2024-10-28 03:08:13 浏览:361
linux访问php 发布:2024-10-28 03:07:24 浏览:876
我的世界1122服务器扫地机器人 发布:2024-10-28 03:06:49 浏览:81
云服务器更换公网ip有什么用 发布:2024-10-28 02:56:14 浏览:2
1h1g服务器搭建游戏 发布:2024-10-28 02:51:46 浏览:717
我的世界好玩的服务器名字及地址 发布:2024-10-28 02:31:39 浏览:122
ftp服务器中的身份验证是哪些 发布:2024-10-28 02:26:44 浏览:666
jvc存储摄像头一体机怎么关机 发布:2024-10-28 02:20:16 浏览:155
安卓程序设计要打开哪个软件 发布:2024-10-28 02:20:04 浏览:149