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"]




"""