Django 根据额外条件查询一对多
Django query one to many based on extra condition
我的代码设置如下:
class User(models.Model):
email = models.EmailField(_(u'email address'), max_length=255, unique=True, db_index=True, blank=True)
class Verification(models.Model):
created_by = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='verifications')
category = models.CharField(choices=constants.VERIFICATION_CATEGORY_CHOICES, default=None, max_length=255)
status = models.CharField(_(u'verification status'), max_length=255, default=constants.STATUS_PENDING, blank=True, null=True)
现在我需要获取具有 "ID"(类别)验证且验证状态为 "APPROVED" 的用户列表。我怎样才能做到这一点?
你可以这样做(使用related_name verifications
作为反向关系):
User.objects.filter(verifications__category="ID", verifications_status="APPROVED")
我的代码设置如下:
class User(models.Model):
email = models.EmailField(_(u'email address'), max_length=255, unique=True, db_index=True, blank=True)
class Verification(models.Model):
created_by = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='verifications')
category = models.CharField(choices=constants.VERIFICATION_CATEGORY_CHOICES, default=None, max_length=255)
status = models.CharField(_(u'verification status'), max_length=255, default=constants.STATUS_PENDING, blank=True, null=True)
现在我需要获取具有 "ID"(类别)验证且验证状态为 "APPROVED" 的用户列表。我怎样才能做到这一点?
你可以这样做(使用related_name verifications
作为反向关系):
User.objects.filter(verifications__category="ID", verifications_status="APPROVED")