# 分组 query_data = VpcSlbRsPort.objects.filter(listen_id__in=update_listen_ids, is_valid=1).exclude(platform='eks').values('ip', 'port').annotate(counts=Count(id)) res = ["{}:{}".format(q.get('ip'), q.get('port')) for q in query_data]
from django.db import connection cursor = connection.cursor() query_sql = "select count(*) from automatic_product.subinterface where is_alloc = 1 and site_id = '{}' and app_id is not null and status = 'ok'".format(site.id) cursor.execute(query_sql) used_count = cursor.fetchall()
指定数据库
1 2 3 4 5
from django.db import connections with connections['wan_fping'].cursor() as cursor: query_sql = "select count(*) from product_vm;" cursor.execute(query_sql) cursor.fetchall()
raw方式
这种方式会将sql查询出来的数据注入到模型类中,比较方便
1 2
query_sql = "select * from automatic_product.subinterface" data_list = Subinterface.objects.raw(query_sql)