gpt4 book ai didi

python - Django 注释字段是否为空

转载 作者:行者123 更新时间:2023-12-04 16:38:52 28 4
gpt4 key购买 nike

我想注释一个日期时间字段以了解它是否为空。就像是:

Table.objects.all().annotate(date_is_null=XXX(YYY)).values(date_is_null, .....)
我需要更换什么 XXX(YYY)检查字段是否为空?
(我稍后将 .values().annotate() 用于 Group By ,所以它必须先在注释中)

最佳答案

您可以使用 ExpressionWrapper转换 Q反对带注释的 BooleanField :

from django.db.models import BooleanField, ExpressionWrapper, Q

Table.objects.annotate(
date_is_null=ExpressionWrapper(
Q(date=None),
output_field=BooleanField()
)
)
这里 Q(date=None)因此是条件。如果 DateTimeField有不同的名称,您应该相应地更改条件。
您可以使用以下命令使条件更加详细:
from django.db.models import BooleanField, ExpressionWrapper, Q

Table.objects.annotate(
date_is_null=ExpressionWrapper(
Q(date__isnull=True),
output_field=BooleanField()
)
)

关于python - Django 注释字段是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64833580/

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