簡體   English   中英

檢查Case queryset語句中是否存在相關對象?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM