Код: Выделить всё
transaction_base = (
Transaction.select(
(Transaction.amount - Transaction.amount_refunded).alias('net_amount'),
Transaction.created,
)
.where(Transaction.merchant_id == merchant_account.id)
.order_by(Transaction.created.desc())
)
Код: Выделить всё
schema = TransactionCSVSchema(many=True)
serialized_data = schema.dump(transaction_base)
Код: Выделить всё
class TransactionCSVSchema(Schema):
PaymentDate = fields.DateTime(attribute="created")
NetAmount = fields.Float(attribute="net_amount")
Код: Выделить всё
Traceback (most recent call last):
File "/var/task/falcon/api.py", line 269, in __call__
responder(req, resp, **params)
File "/var/task/payments/resources/base_resource.py", line 105, in on_get
return self.on_get_list(req, resp, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/task/peewee.py", line 3088, in inner
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/var/task/payments/resources/transaction.py", line 264, in on_get_list
serialized_data = schema.dump(transaction_base)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/task/marshmallow/schema.py", line 549, in dump
result = self._serialize(processed_obj, many=many)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/task/marshmallow/schema.py", line 511, in _serialize
return [
^
File "/var/task/marshmallow/schema.py", line 511, in
return [
^
File "/var/task/peewee.py", line 4588, in next
self.cursor_wrapper.iterate()
File "/var/task/peewee.py", line 4508, in iterate
result = self.process_row(row)
^^^^^^^^^^^^^^^^^^^^^
File "/var/task/peewee.py", line 7768, in process_row
obj = self.constructor(__no_default__=1, **data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/task/peewee.py", line 6510, in __init__
setattr(self, k, kwargs[k])
File "/var/task/playhouse/hybrid.py", line 35, in __set__
raise AttributeError('Cannot set attribute.')
AttributeError: Cannot set attribute.
Код: Выделить всё
('SELECT (`t1`.`amount` - `t1`.`amount_refunded`) AS
`net_amount`, `t1`.`created` FROM `transaction` AS `t1`
WHERE (`t1`.`merchant_id` = %s) ORDER BY `t1`.`created` DESC', [130])
Код: Выделить всё
('SELECT (`t1`.`amount` - `t1`.`amount_refunded`)
Подробнее здесь: https://stackoverflow.com/questions/793 ... ewee-alias
Мобильная версия