12のジャンゴ総務

まず、トランザクション

トランザクションの定義:アトミック操作に動作SQLステートメントの複数、いずれかの成功しながら、データの整合性と一貫性を保証するために元の状態にロールバックされる故障、(NoSQLのデータベーストランザクション用にサポートされている部分)

トランザクションの概念を詳しく見て:通訳サービス

第二に、例えば、

ジャンゴでのトランザクションを開く方法

# 事务
    # 买一本 跟老男孩学Linux 书
    # 在数据库层面要做的事儿
    # 1. 创建一条订单数据
    # 2. 去产品表 将卖出数+1, 库存数-1
    from django.db.models import F
    from django.db import transaction
    # 开启事务处理
    try:
        with transaction.atomic():
            # 在with代码块中写的代码属于同一个事务
            # 创建一条订单数据
            models.Order.objects.create(num="110110111", product_id=1, count=1)
            # 能执行成功
            models.Product.objects.filter(id=1).update(kucun=F("kucun")-1, maichu=F("maichu")+1)
    except Exception as e:
        print(e)

おすすめ

転載: www.cnblogs.com/xichenHome/p/11748018.html