[英]Check if object_id occurs more than once in queryset.annotate Case When parameter
[英]Check for existence of a related object in a Case queryset statement?
我想用相關對象注釋一個查詢集,如果該對象存在,或者如果不存在則注釋另一個字段:
#models.py
class MyModel(Model):
f1 = ForeignKey(MyRelated, related_name='f1')
f2 = ForeignKey(MyRelated, related_name='f2', null=True)
#queryset
MyModel.objects.annotate(
f=Case(
When( *something* ,then=F('f2')),
default=F('f1')
)
)
我需要知道的是用什么代替*something*
來檢查外鍵是否存在。
橡膠立刻躲過這個:
MyModel.objects.annotate(
f=Case(
When(f2__isnull=False ,then=F('f2')),
default=F('f1')
)
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.