F查询:
F可以帮我们取到表中某个字段对应的值来当作我的筛选条件,而不是我认为自定义常量的条件了
实现了动态比较的效果:
例如:查询卖出大于库存数
from django.db.models import F
ret1=models.Product.objects.filter(maichu__gt=F('kucun'))
print(ret1)
记住:F('kucun')=kucun字段对应的值
但是F不能修改字符串,这个时候需要对字符串进行拼接Concat操作,并且要加上拼接值Value
from django.db.models.functions import Concat
from django.db.models import Value
ret3=models.Product.objects.update(name=Concat(F('name'),Value('新款')))
Concat的作用就是拼接字符串的作用,切记新款那里要用Value起来
通过字符串查询:
choices=((1,男)(2,女)(3,其他)) gender=models.InterField(choices=choices,default=2) 翻译:男就是数字1,女就是数据2,其他就是3的形式存入数据库 print(res.gender)>>>2 print(res.get_gender_display())>>>女