【发布时间】:2015-12-08 07:31:46
【问题描述】:
我有两个 Django 模型:
class Person(models.Model):
unique_id = models.CharField()
class PersonData(models.Model):
person = models.ForeignKey('Person')
phone = models.CharField()
email = models.CharField()
date = models.DateTimeField()
新的PersonData 对象会在其信息更改时添加,但旧的会保留。然后我想要一个过滤器,它会根据他们相关的最新PersonData 对象中的数据过滤人员。
我有以下查询集:
filter_email = "email@example.com"
filter_phone = "964477425"
qs = Person.objects.all()
if filter_email:
qs = qs.filter(persondata__email__icontains=filter_email)
if filter_phone:
qs = qs.filter(persondata__phone__icontains=filter_phone)
但该过滤器会搜索与Person 关联的每个PersonData 对象。是否可以将此过滤器限制为仅最新的PersonData 对象?
【问题讨论】:
标签: python django django-orm