python—day61 Object Relational Mapping(ORM) F查询 Q查询

F查询  Q查询:

import os

if __name__ == '__main__':
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "O_F.settings")

    import django
    django.setup()

    from app01 import models

    # F查询

    from django.db.models import F, Q

    # 卖出数大于10
    # ret = models.Product.objects.filter(maichu__gt=10)
    # 查询出卖出数大于库存数的商品 F('判断条件')
    # ret = models.Product.objects.filter(maichu__gt=F('kucun'))
    # print(ret)

    # 将每个商品的价格提高50块
    # models.Product.objects.update(price=F('price')+50)

    # 将所有商品的名称后面加一个 '新款'
    # from django.db.models.functions import Concat
    # from django.db.models import Value
    # models.Product.objects.update(name=Concat(F('name'), Value('新款')))

# Q查询 # 卖出数大于100,且价格小于100的 # ret = models.Product.objects.filter(maichu__gt=100, price__lt=100) # print(ret) # 查询 卖出数大于100 或者 价格小于100块的 # ret = models.Product.objects.filter(Q(maichu__gt=100)|Q(price__lt=100)) # print(ret) # 查询 库存数是100 并且 卖出数不是0 的产品 # ret = models.Product.objects.filter(Q(kucun=200) & ~Q(maichu=0)) # print(ret) # 查询产品名包含新款, 并且库存数大于60的 # ret = models.Product.objects.filter(Q(kucun__gt=60), name__contains='新款') # print(ret)

import os

if __name__ == '__main__':
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "O_F.settings")

import django
django.setup()

from app01 import models

# F查询

from django.db.models import F, Q

# 卖出数大于10
# ret = models.Product.objects.filter(maichu__gt=10)
# 查询出卖出数大于库存数的商品 F('判断条件')
# ret = models.Product.objects.filter(maichu__gt=F('kucun'))
# print(ret)

# 将每个商品的价格提高50
# models.Product.objects.update(price=F('price')+50)

# 将所有商品的名称后面加一个 '新款'
# from django.db.models.functions import Concat
# from django.db.models import Value
# models.Product.objects.update(name=Concat(F('name'), Value('新款')))





# Q查询
# 卖出数大于100,且价格小于100
# ret = models.Product.objects.filter(maichu__gt=100, price__lt=100)
# print(ret)

# 查询 卖出数大于100 或者 价格小于100块的
# ret = models.Product.objects.filter(Q(maichu__gt=100)|Q(price__lt=100))
# print(ret)

# 查询 库存数是100 并且 卖出数不是0 的产品
# ret = models.Product.objects.filter(Q(kucun=200) & ~Q(maichu=0))
# print(ret)

# 查询产品名包含新款, 并且库存数大于60
# ret = models.Product.objects.filter(Q(kucun__gt=60), name__contains='新款')
# print(ret)

猜你喜欢

转载自www.cnblogs.com/kermitjam/p/9214497.html
今日推荐