我有一个模型Tenant
和一个模型SocialMediaContextTenant
,它具有Tenant
模型的外键。
class SocialMediaContextTenant(AbstractSocialMediaContext):
tenant = models.ForeignKey('campaigns.Tenant')
secret = models.CharField(...)
我想过滤所有连接SocialMediaContextTenant
设置了secret
字段的租户。
到目前为止,我有这个查询
Tenant.objects
.exclude(socialmediacontexttenant__secret='')
.values_list('id', flat=True)
但排除过滤器似乎不起作用,因为我仍然得到一个空secret
字段的结果
答案 0 :(得分:1)
看起来secret
字段的值为空值,而不是空字符串。要排除这些记录,请使用__isnull
查找:
Tenant.objects.exclude(socialmediacontexttenant__secret='').exclude(socialmediacontexttenant__secret__isnull=True)