真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python的web框架Django的ORM數(shù)據(jù)庫(kù)操作分析-創(chuàng)新互聯(lián)

1.建表
首先引用下,可model設(shè)定的各種字段類(lèi)型
在model中建立一個(gè)表
from django.db import models

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。創(chuàng)新互聯(lián)推出煙臺(tái)免費(fèi)做網(wǎng)站回饋大家。

Create your models here.

class Person(models.Model):
#定義一個(gè)用戶(hù)名字段,不能重復(fù)
username = models.CharField(max_length=10,unique=True)
password = models.CharField(max_length=10)
#默認(rèn)值設(shè)定1
age = models.IntegerField()
#False 代表男 True 代表女 女為1 男為0
sex = models.BooleanField(default=False)
#可通過(guò)指定屬性,來(lái)設(shè)定生成的列名,但在使用類(lèi)中還是p_des
p_des = models.CharField(max_length=100,db_column='des')
create_date = models.DateTimeField(auto_now=True)
class Meta:
#指定生成表名,不指定默認(rèn)生成格式為APP+類(lèi)名
db_table = 'user'
python manage.py makemigrations
python manage.py migrate
通過(guò)代碼隨機(jī)生成些數(shù)據(jù),這里有個(gè)小坑,也許會(huì)碰到=。=
def addUser(request):
for i in range(5):
person = Person()
num = random.randrange(100)
person.username = 'sola%d' % num
person.password = 'pass%d' % num
person.age = num
person.sex = num % 2
person.save()
return HttpResponse("success")
2.條件查詢(xún)
可用過(guò)filter與exclude來(lái)鏈?zhǔn)讲樵?xún)。
def getUser(request):
#可以通過(guò)filter來(lái)查詢(xún)(滿(mǎn)足),可以繼續(xù)鏈?zhǔn)蕉鄠€(gè)條件。
#users = Person.objects.filter(usernamecontains="5").filter(usernamecontains=3)
#也可以用通過(guò)exclude(不滿(mǎn)足),來(lái)查詢(xún)
users = Person.objects.exclude(usernamecontains="5").filter(usernamecontains="9")
for user in users:
print(user.username)
print(user.create_date)
return HttpResponse("success")
3.另一種添加方法?
def addUserTwo(request):
user = Person.objects.create(username='rui~',password='rui!',age=18)
user.save()
return HttpResponse("success")
4.排序
def getUser(request):
#直接加入order_by即可根據(jù)字段排序,默認(rèn)是正序,前面加減號(hào)為倒敘
users = Person.objects.filter(agein=['73','34','84']).order_by("-username")
for user in users:
print(user.username)
print(user.create_date)
return HttpResponse("success")
5.將數(shù)據(jù)轉(zhuǎn)成字典(轉(zhuǎn)成Map)
def getUser(request):
#values可以直接把結(jié)果轉(zhuǎn)換成字典,字典可通過(guò)工具直接轉(zhuǎn)成JSON
users = Person.objects.filter(age
in=['63','50','36','11']).values()
for user in users:
print(user.username)
print(user.create_date)
print(user.sex)
return HttpResponse("success")
6.二次查詢(xún)(查詢(xún)結(jié)果再次查詢(xún))
def getUser(request):
users = Person.objects.filter(age__in=['63','50','36','11'])
#可以再一次進(jìn)行查詢(xún)
users = users.filter(age='50')
for user in users:
print(user.username)
print(user.create_date)
print(user.sex)
return HttpResponse("success")
7.切片查詢(xún)
def getUser(request):
#切片查詢(xún),從第四條開(kāi)始,到第五條,不能有負(fù)數(shù)
users = Person.objects.all()[3:5]
for user in users:
print(user.username)
print(user.create_date)
print(user.sex)
return HttpResponse("success")
8.忽略大小寫(xiě)查詢(xún)
查詢(xún)前加入i即可
9.更改時(shí)間區(qū)域設(shè)定?
默認(rèn)Django有一套自定義的時(shí)區(qū),與一般的數(shù)據(jù)庫(kù)不匹配,會(huì)造成查詢(xún)不準(zhǔn)確,需要去setting中關(guān)閉它
#默認(rèn)是True,改為False即可
USE_TZ = False
10.聚合函數(shù)
def getUser(request):
#聚合函數(shù),Avg平均,Count數(shù)量,Max大,Min最小,Sum求和;參數(shù)填入字段
avgNum = Person.objects.aggregate(Avg("age"))
print(avgNum)
return HttpResponse("success")
11.某一條字段進(jìn)行對(duì)比
def getUser(request):
#一條數(shù)據(jù)中某字段進(jìn)行對(duì)比,可進(jìn)行大小等于,包含等
#users = Person.objects.filter(age=F("id"))
#也可以這么寫(xiě),age 大于 id+1
users = Person.objects.filter(agegt=F("id")+1)
function(){ //點(diǎn)值計(jì)算器http://www.fx61.com/dotpoint.html
print(users.values())
return HttpResponse("success")
12.邏輯運(yùn)算符的查詢(xún)寫(xiě)法
def getUser(request):
users = Person.objects.filter(Q(age
gt=90) & Q(age__lt=100))
print(users.values())
return HttpResponse("success")
13.封裝某些默認(rèn)查詢(xún)條件
因?yàn)椴樵?xún)方法是通過(guò)Django在model中自動(dòng)生成查詢(xún)objectsManager,我們可以建立一個(gè)類(lèi)繼承于Manager,并重寫(xiě)他的查詢(xún)方法,再給Model類(lèi)中賦予對(duì)象給objects參數(shù),再通過(guò)調(diào)用objects參數(shù)進(jìn)行查詢(xún),就會(huì)過(guò)濾想默認(rèn)過(guò)濾的條件。
model
#歌曲類(lèi)管理
class SongManager(models.Manager):
def get_queryset(self):
return super(SongManager,self).get_queryset().filter(is_deleter=1)
#繼承歌曲管理類(lèi)
class Song(models.Model):
name = models.CharField(max_length=50)

length = models.CharField(max_length=10)
is_deleter = models.IntegerField(max_length=1,default=0)
singer = models.CharField(max_length=30) 
objects = SongManager()

views
def getSong(request):
songs = Song.objects.all()
for song in songs:
print(song.name)
return HttpResponse("success")
原文鏈接:blog.csdn.net/jiulanhao/article/details/103027355

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。


本文題目:Python的web框架Django的ORM數(shù)據(jù)庫(kù)操作分析-創(chuàng)新互聯(lián)
轉(zhuǎn)載來(lái)源:http://weahome.cn/article/dijshc.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部