gpt4 book ai didi

python - Django 查询集 : Exclude all row(s) if any one row with same id is excluded

转载 作者:太空宇宙 更新时间:2023-11-04 04:45:51 25 4
gpt4 key购买 nike

我正在使用 Django 查询从表中过滤掉一些事务,其中一个事务可能在表中有多个条目。

例如示例表

+---------------+---------+
| TransactionId | Status |
+---------------+---------+
| Txn0 | Pending |
| Txn0 | Success |
| Txn1 | Fail |
| Txn2 | Pending |
| Txn3 | Fail |
| Txn4 | Pending |
| Txn4 | Fail |
| Txn5 | Pending |
+---------------+---------+

当前查询:

SampleTable.objects.exclude(status='Fail').exclude(status='Success')

我当前的查询返回 Txn0Txn2Txn4Txn5(因为这些被标记为待处理)。

我需要一个只返回行 Txn2, Txn5(因为所有其他事务至少有一个失败或成功事务)的查询集。

此外,尝试使用 .distinct() 但没有帮助。

最佳答案

嗯,不是直的。但是,首先过滤所有失败/成功状态的交易(行)。

success_fail_txns = SampleTable.objects.filter(status='Success') 
| SampleTable.objects.filter(status='Fail')
pending_txns = SampleTable.objects.exclude(txnid__in=success_fail_txns)

关于python - Django 查询集 : Exclude all row(s) if any one row with same id is excluded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49656220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com