【发布时间】:2016-04-26 20:33: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)
我希望 Parent 模型的所有对象都具有 Child 模型中提到的外键和 timeStamp 字段上的一些过滤器。
我该如何反向获取对象?
MySQL 应该是这样的
SELECT Parent.name FROM Parent JOIN Child on Parent.Id = Child.parentLink WHERE Child.timeStamp > '2016-01-01 : 00.00.00'
【问题讨论】:
-
timeStamp不是 Prent 的字段。 -
@Gocht,抱歉打错了。
-
你的意思是,得到所有属于孩子的父母?有些父母没有孩子?
-
是的,所有父母都在孩子身上。每个父母都可能有孩子,也可能没有。
-
@T.Opletal 使用相关的预取,他将获得 Childs。喜欢:
Child.objects.filter(timeStamp='some_value').prefetch_related('parentLink'),然后为每个孩子获取父母。
标签: python mysql django django-models foreign-key-relationship