python-django(クエリー、集約、グループ化)
2500 ワード
#
"""
---- ,
:
:( . . )
x_obj = models.Book.objects.filter(xxx).first()
x_obj.publish.email
:( . _set.all())
x_obj = models.Publish.objects.filter(xxx).first()
for i in x_obj.book_set.all():
print(i)
:
:( . .all())
x_obj = modles.Bookobjects.filter(xxx).first()
for author in x_obj.authors.all():
print(author.name, author.age)
:( . _set.all())
x_obj = modles.Author.objects.filter(xxx).first()
for book in x_obj_set.all():
print(book.title)
:
:( . . )
x_obj = modles.Author.objects.filter(xxx).first()
x_obj = authorDetail.telephone
:()
x_obj = modles.AuthorDetail.objects.filter(xxx).first()
x_obj.author.name
: /
:
from django.db.models import Sum,Count,Avg
ret = models.Book.objects.all().aggregate(price=Sum('price'))
:
1. queryset .annotate()
2. annotate , select group by
3. annotate() queryset ,
modles.dep.objects.values("name").annotate(c=Count('emp__name')).values('name','c')
# dep , name , emp name , name
modles.book.objects.values('id').annotate(c=Content( ))
"""#
SQL , pymysql
# from django.db import connection
# cursor = connection.cursor() # , SQL
# cursor.execute("""SELECT * from person where id = %s""", [1])
# row = cursor.fetchone()
# print(row)
転載先:https://www.cnblogs.com/chaoqi/p/10560869.html