[英]Django sum all related objects of a filtered QuerySet
我想在psuedo代码中做的是:
def import_transaction_deposit_crypto(Importer):
logger = get_nexchange_logger(__name__, True, True)
existent_addresses = Address.objects.filter(
currency__is_crypto=True,
type=Address.DEPOSIT,
currency__wallet__in=Importer.RELATED_NODES
).tx_to_set.count()
导入器的示例值:
class LitecoinTxImporter:
RELATED_NODES = 'ltc_rpc_1'
tx_to
是tx_to
(反向关系):
class Address(BtcBase, SoftDeletableModel):
address_to = models.ForeignKey('core.Address',
related_name='txs_to')
我们的想法是计算属于特定 RPC节点(钱包)的所有“已导入”事务,以便将其提供给listtransactions
RPC端点的from
参数(一般来说,出于分页目的)。
这里记录了一个完美匹配的例子:
# Build an annotated queryset
>>> from django.db.models import Count
>>> q = Book.objects.annotate(Count('authors'))
# Interrogate the first object in the queryset
>>> q[0]
<Book: The Definitive Guide to Django>
>>> q[0].authors__count
2
您可以从Address
开始过滤:
Adress.objects.filter(address_to__curency__is_crpyto=True, ...).count()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.