【发布时间】:2021-10-03 23:51:58
【问题描述】:
当我的 sql 调用中的条件时,我有两个值取决于相同的情况。目前我复制了条件来分别设置每个值,但是我可以结合两个相同的情况来一次设置两个值吗?
编辑 - 添加了一个示例:
self.filter().values(
fee=Case(
When(
Q(fee_override=None) & Q(code='TYPE1'),
then='user__fee__amount'
),
When(
Q(fee_override=None) & Q(code='TYPE2'),
then='user__fee__amount'
),
default='fee_override___amount',
output_field=DecimalField(),
),
fee_is_percent=Case(
When(
Q(fee_override=None) & Q(code='TYPE1'),
then='user__fee__is_percent'
),
When(
Q(fee_override=None) & Q(code='TYPE2'),
then='user__fee__is_percent'
),
default='fee_override___is_percent',
output_field=BooleanField(),
)
)
【问题讨论】:
-
你能分享一个例子吗?
-
@bdbd - 添加了一个示例
标签: django postgresql django-queryset django-q django-postgresql