Django筛选器查询是否存在字段

Django筛选器查询是否存在字段,django,django-queryset,django-filter,Django,Django Queryset,Django Filter,当且仅当我的模型ShgGroupLoanMarking中存在loan时,我想筛选我的查询集 class ShgGroupLoanMarking(models.Model): shg = models.ForeignKey(Shg, null=True) category = models.CharField(max_length=25, choices=GROUP_CATEGORY, default="shg_group") msss = models.ForeignKey(Msss, n

当且仅当我的模型
ShgGroupLoanMarking
中存在
loan
时,我想筛选我的查询集

class ShgGroupLoanMarking(models.Model):
 shg = models.ForeignKey(Shg, null=True)
 category = models.CharField(max_length=25, choices=GROUP_CATEGORY, default="shg_group")
 msss = models.ForeignKey(Msss, null=True)
 shgmember = models.ForeignKey(ShgMember, null=True)
 loan = models.ForeignKey(Loan, null=True)
 date_of_marking = models.DateField(null=True)
 paid = models.CharField(max_length=100, null=True)
 loan_amount = models.CharField(max_length=100, null=True)
 service_charge = models.CharField(max_length=100, null=True)
 description = models.CharField(max_length=100, null=True)
 status = models.CharField(max_length=100, null=True)
 print_status = models.BooleanField(default=False)
 sent_to_bank_status = models.BooleanField(default=False)
 receipt_number = models.IntegerField(default=0)
如何做到这一点

ShgGroupLoanMarking.objects.filter(loan__isnull=False)


这实际上并不测试字段是否存在,而是假设它存在并检查它是否为null。如果该字段确实不存在,则仍会抛出一个
jango.core.exceptions.FieldError:无法将关键字“..”解析到该字段中。
ShgGroupLoanMarking.objects.exclude(loan=None)