python django 数据库查询方法
python中查询数据库个数_python django 数据库查询方法总结
__lte= 小于等于
__gte= 大于等于
def get_batch_item_cd_management_data(self, updt_datetime: str) -> list[GetBatchItemCdManagementAggregate]:
"""前回正常終了日時以降の更新日時となっている商品単品コードを取得"""
result = VwTdOmsStoreInventory.objects.filter(
updt_datetime__gte=updt_datetime,
del_flg=False
).distinct
result_list = [GetBatchItemCdManagementAggregate(**res) for res in result]if result else []
return result_list
exclude(colmes=colmes) colmes不等于colmes
VwTmBackboneColor.objects.filter(
colcd=colcd
).exclude(colmes=colmes).update(
colmes=colmes,
updt_sysuser_id="batch",
updt_datetime=execStartTime
)
-----------------------------------------------------------------------------------------
product_div_nm1"+ "_"+ "product_div_nm2"+"_"+ "product_div_nm3 = "1"_"2"_"3"
VwTmOmsDiv.objects.annotate(
product_div_nm_all=Concat("product_div_nm1", Value("_"), "product_div_nm2", Value("_"), "product_div_nm3")
).filter(
corporation_cd=brdcd,
product_div=product_div
).exclude(product_div_nm_all=product_nm_a).update(
product_div_nm1=brdsskmes,
product_div_nm2=hnssskmes,
product_div_nm3=hnmsskmes,
updt_sysuser_id="batch",
updt_datetime=exec_start_time
)
python django 数据库查询方法
= .filter(age=18)
!= .exclude(age=18)
> .filter(age__gt=18)
>= .filter(age__gte=18)
< .filter(age__lt=18)
<= .filter(age__lte=18)
in 在给定范围内 .filter(age__in=[18,19,20])
range 在给定范围内 .filter(age__range=[18,19,20])
contains 包含 .filter(name__contains=‘jack’)
Q() or .filter(Q(age__lte=18) \ Q(name='jack'))
& and .filter(age__lte=18,name='jack')
去重查询,返回去重后的所有mymodel的对象
distinct_objects = MyModel.objects.all().distinct()
升序排序 name 升序 age降序
MyModel.objects.objects.all().order_by('name','-age')
执行原生SQL
from django.db import connection
with conncetion.cursor() as cur
cur.execute('SELECT * FROM table WHERE age > %s',[age])
result = cur.fatchall()
.