如何获取 Django 子模型中存在外键的父模型的所有对象?
How to get all objects of a Parent model of which foreign key exist in child model in Django?
我有2个模型
#models
class Parent(models.Model):
name = models.CharField()
class Child(models.Model)
parentLink = models.ForeignKey(Parent)
timeStamp = models.DateTimeField(auto_now_add=True)
我想要父模型的所有对象都具有子模型中提到的外键和 timeStamp 字段上的一些过滤器。
如何反向获取对象?
它MySQL会是这样的
SELECT Parent.name FROM Parent JOIN Child on Parent.Id = Child.parentLink WHERE Child.timeStamp > '2016-01-01 : 00.00.00'
如果我理解正确的话,应该是这样的:
Parent.objects.filter(
child__isnull=False,
child__timeStamp__gt=datetime.strptime(
'2016-01-01 00.00.00',
'%Y-%m-%d %H.%M.%S'
)
)
这会获取所有 Parent
个对象,其子对象的时间戳晚于 2016/01/01。
我有2个模型
#models
class Parent(models.Model):
name = models.CharField()
class Child(models.Model)
parentLink = models.ForeignKey(Parent)
timeStamp = models.DateTimeField(auto_now_add=True)
我想要父模型的所有对象都具有子模型中提到的外键和 timeStamp 字段上的一些过滤器。
如何反向获取对象?
它MySQL会是这样的
SELECT Parent.name FROM Parent JOIN Child on Parent.Id = Child.parentLink WHERE Child.timeStamp > '2016-01-01 : 00.00.00'
如果我理解正确的话,应该是这样的:
Parent.objects.filter(
child__isnull=False,
child__timeStamp__gt=datetime.strptime(
'2016-01-01 00.00.00',
'%Y-%m-%d %H.%M.%S'
)
)
这会获取所有 Parent
个对象,其子对象的时间戳晚于 2016/01/01。