Django - 获取具有多个对象的模型的最后一个对象
问题描述:
我有两个模型。父亲和儿子模型。在儿子模型中的关系是:Django - 获取具有多个对象的模型的最后一个对象
father = models.ForeignKey(Father, related_name="father")
现在在真正的数据库中,我有5个父亲,每个父亲有5个儿子。我想找到儿子,20
father = Father.objects.all()
#how to find all sons with age 20?
答
年龄您的标题不完全匹配你的问题,你的问题是缺少信息。但是,这是你想要的吗?
fathers = Fathers.objects.all()
sons = Son.objects.filter(father__in=fathers, age=20)
但是,假设所有的儿子有父亲的,你可以只写为
sons = Son.objects.filter(age=20)
如果您是从一个父亲寻找所有的儿子20岁:
father = Fathers.objects.get(id=101)
sons = Son.objects.filter(father=father, age=20)
这是假设你有一个不同的父亲和儿子的模型(这不是一个好的设计决策,但这是我从你的问题中了解到的)。
谢谢。但这里还有一个小问题。我可以编写一个模型的方法,它需要参数并在模板中使用此方法?我可以做吗? – doniyor 2013-05-09 14:29:14
询问这是一个单独的问题,并阅读堆栈溢出常见问题。 – Joe 2013-05-09 14:29:50
(答案是否定的,您必须创建一个新的模板标签或在视图中调用该函数) – Joe 2013-05-09 14:30:47