本文整理汇总了Python中casexml.apps.stock.models.StockTransaction.__domain方法的典型用法代码示例。如果您正苦于以下问题:Python StockTransaction.__domain方法的具体用法?Python StockTransaction.__domain怎么用?Python StockTransaction.__domain使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类casexml.apps.stock.models.StockTransaction
的用法示例。
在下文中一共展示了StockTransaction.__domain方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _get_model_for_stock_transaction
# 需要导入模块: from casexml.apps.stock.models import StockTransaction [as 别名]
# 或者: from casexml.apps.stock.models.StockTransaction import __domain [as 别名]
def _get_model_for_stock_transaction(report, transaction_helper, ledger_db):
assert report.type in const.VALID_REPORT_TYPES
txn = StockTransaction(
report=report,
case_id=transaction_helper.case_id,
section_id=transaction_helper.section_id,
product_id=transaction_helper.product_id,
type=transaction_helper.action,
subtype=transaction_helper.subaction,
)
def lazy_original_balance():
return ledger_db.get_current_ledger_value(txn.ledger_reference)
new_ledger_values = compute_ledger_values(
lazy_original_balance, report.type,
transaction_helper.relative_quantity)
txn.stock_on_hand = new_ledger_values.balance
txn.quantity = new_ledger_values.delta
if report.domain:
# set this as a shortcut for post save signal receivers
txn.__domain = report.domain
# update the ledger DB in case later transactions reference the same ledger item
ledger_db.set_ledger(txn)
return txn