djangoフィルタ-クエリーセット-比較演算子-FQオブジェクト-mysqlのコマンドウィンドウ
6074 ワード
"""
all()
filter()
、filter( = )
、filter( = , = ) # and
、filter( = ).filter( = ) # and
exclude()
order_by()
values() { },
:
get()
: , “ .DoesNotExist ”
, “ .MultipleObjectsReturnen "
count()
first()
last()
exists() , True, False
, ,
students_list = Students.stuobj.all()[0:5] 5
5
#0-5 6-10
# 1 2
page = int(page)
students_list = Students.stuobj.all()[(page-1)*5:page*5]
: ,
, , , ,django , ,
1. SQL WHERE , filter(),exclude(),get()
2. : __ =
3. : _id
4. :like SQL % , %(where like ‘\%‘)
filter(sanme__contains‘%‘)
:
exact: , , :filter(isdelete=Flase)
contains: , , :students_list=Students.stuobj.filter(sname__contains=" ")
startswith endswith: values , , :students_list=Students.stuobj.filter(sname__startswith=" ")
i, ,iexact,icontains,istartswiht,iendswith
isnull,isnotnull: , :filter(sname_isnull=False)
in: , :students_list=Students.stuobj.filter(pk__in=[2,4,6])
gt,gte,it,ite: , , , , , :students_list=Students.stuobj.filter(sage__gt=30)
year,month,day,week_day,hour,minute,second: , :students_list=Students.stuobj.filter(latetime__year=2017)
:
join , : __ __
" "
students_list = Grades.gra_guanli.filter(students__scontend__contains=‘ ‘)
print(students_list)
:
pk ---
:
aggregate()
Aug
Count
Max
Min
Sum
, , , :
from django.db.models import Max
studentAge = Students.stuobj.aggregate(Max(‘sage‘))
print studentAge
:{‘sage__max‘: 34} #
F :
A B
from django.db.models import F
def grades3(request):
g = Grades.gra_guanli.filter(ggirlnum__gt=F(‘gboynum‘))
print(g)
return HttpResponse("kkk")
F
g = Grades.gra_guanli.filter(ggirlnum__gt=F(‘gboynum‘)+20)
Q :
: , AND
: or
: Q , ,
from django.db.models import Q
def studentsearch(request):
g = Students.stuobj.filter(Q(pk__gt=7) | Q(sage__gt=30))
print (g)
return HttpResponse(‘jj‘)
Q ,
g = Students.stuobj.filter(Q(pk__gt=7))
Q ,
g = Students.stuobj.filter(~Q(pk__gt=7))
django , , ,
from xinapp.models import Grades,Students
from django.utils import timezone
from datetime import *
.objects.all()
grade1 = Grades()
grade1.gname = "pingguo"
grade1.gdate = datetime(year=2017,month=7,day=17)
grade1.ggirlnum = 8
grade1.gboynum = 30
grade1.save()
.....
.objects.get(pk=num)
Grades.objects.get(pk = 2) # id = 2
. =
grade1.gboynum =80
grade1.save()
.delete()
( )
grade2.delete()
( , , )
grade1 = Grades()
grade1.gname = "ceshi"
stu = Students()
stu.sname = "ksjdfk"
stu.models.ForeignKey = grade1
. _set.all()
grade1.students_set.all()
( u‘ ‘, , , save())
grade1 !
stu3 = grade1.students_set.create(sname=u‘ ‘,sgender=True,scontend=‘shuoming‘,sage=77)
python manage.py runserver
mysql ,
drop database ;
create database ;
show databases;
use ;
show tables;
desc _
select * from ( :xinapp_grades);
django :
1.
python manage.py makemigrations # migrations
python manage.py migrate # migrations
2.
Model.objects.create(**kwargs)
3.
Model.objects.all()
4.
m = Model.objects.get(id=1)
m.name = ‘new_name‘
m.save()
5.
m = Model.objects.get(id=1)
m.delete()
3.
3.1
shopping mall :
from django.shortcuts import HttpResponse
from .models import Area
def add_area(request):
area = Area.objects.create(name=‘cosmetic‘, description=‘ ‘)
return HttpResponse(‘added!‘)
, area = Area.objects.create(name=‘cosmetic‘, description=‘ ‘)
mysql :
insert into shop_area(name,description) values(‘cosmetic‘,‘ ‘);
3.2
, shopping mall :
1 from django.shortcuts import HttpResponse
2 from .models import Area
3
4
5 def list_area(request):
6 area = Area.objects.all()
7 print(area) # shell [], __str__(), []
8
9 return HttpResponse(‘listed!‘)
area = Area.objects.all()
mysql :
select * from shop_area;
:shop_area django (app_model)
3.3
3.1 , 。 , , rinka 。
, rinka 。 rinka superuser:
python manage.py createsuperuser
, rinka :
1 from django.shortcuts import HttpResponse
2 from .models import Area
3 from django.contrib.auth.models import User
4
5
6 def update_area(request):
7 rinka = User.objects.get(username=‘rinka‘)
8 area = Area.objects.get(id=1)
9 area.manager = rinka
10 area.save()
11
12 return HttpResponse(‘updated!‘)
save() , 。 。
8~10 mysql :
update shop_area set manager_id=1 where id=1;
:manager_id django (foreignkey_id)
3.4
, shop_area id 1 :
1 from django.shortcuts import HttpResponse
2 from .models import Area
3
4
5 def delete_area(request):
6 area = Area.objects.get(id=1)
7 area.delete()
8
9 return HttpResponse(‘deleted!‘)
6~7 mysql :
delete from shop_area where id=1;
(Meta ):
db_talbe , , _
ordering , ,
class Meta:
db_table="students"
ordering=["-id"]
"""