本文整理匯總了Python中models.Transaction.source方法的典型用法代碼示例。如果您正苦於以下問題:Python Transaction.source方法的具體用法?Python Transaction.source怎麽用?Python Transaction.source使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類models.Transaction
的用法示例。
在下文中一共展示了Transaction.source方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: post
# 需要導入模塊: from models import Transaction [as 別名]
# 或者: from models.Transaction import source [as 別名]
def post(self):
action = self.request.get('action', 'list')
if action == 'list':
self.sendTransactionList()
elif action == 'update':
# add a new or update a transaction
tkey = self.request.get('transaction', 'None')
if tkey == 'None':
transaction = Transaction()
transaction.project = self.project
else:
transaction = Transaction.get(tkey)
if transaction.project.key() != self.project.key():
raise Exception("Project/Transaction mismatch")
# update / set fields
transaction.date = datetime.strptime(self.request.get('date', transaction.date.isoformat()), "%Y-%m-%d")
transaction.source = Account.get(self.request.get('source', transaction.source and transaction.source.key()))
transaction.dest = Account.get(self.request.get('dest', transaction.dest and transaction.dest.key()))
transaction.ammount = float(self.request.get('ammount', str(transaction.ammount)).replace(',', '.'))
transaction.check = self.request.get('check', 'False') == 'True'
transaction.text = self.request.get('text', transaction.text)
transaction.user = self.user
# a None currency means we use the base currency!
c = self.request.get('currency', transaction.currency and transaction.currency.key())
transaction.currency = Currency.get(c) if c != "None" else None
# exchange source and dest, if the amount is negative
if transaction.ammount < 0:
tmp_src = transaction.source
transaction.source = transaction.dest
transaction.dest = tmp_src
transaction.ammount = -transaction.ammount
# put back into data store
transaction.put()
# retransmit all transactions
self.sendTransactionList()
elif action == 'delete':
# add a new or update a transaction
transaction = Transaction.get(self.request.get('transaction', 'None'))
if transaction.project.key() != self.project.key():
raise Exception("Project/Transaction mismatch")
transaction.delete()
# retransmit all transactions
self.sendTransactionList()
else:
raise Exception("Unknown action '%(action)s'!" % {'action':action})