我想用这种方式
在模型.py在
class Father(models.Model):
name = models.CharField(...)
def last_child_age(self):
children = self.child.order_by('-pk')
if len(children) > 0:
return find_Year(datetime.datetime.now()-children[0].birth_day)
return -1
class Child(models.model):
father = models.ForeignKey(Father, related_name='child')
birth_day = models.DateTimeField(auto_now_add=True)
在视图.py在
^{pr2}$退货:
Cannot resolve keyword
错误。在
除了一个接一个地迭代之外,什么是进行此查询的正确方法。在
您还没有发布您的孩子模型和上一个孩子的年龄代码,但类似这样的东西应该可以工作:
不能在Django中使用模型类方法(将函数传递到filter)进行查询
如果您需要
Father
对象的列表,这些对象的子对象年龄大于15岁:在不向子表添加标志的情况下,您可以通过对子表进行子查询来决定哪个是最后一个(最年轻的)。带有max birthday(最后一个儿子->更大的出生日期)的注释可以帮助您。尝试此查询(我不测试):
^{pr2}$last_child_age
是一个方法,而不是一个列。ORM查询生成SQL,而SQL对您的模型方法一无所知—SQL数据库如何调用您的Python代码?在相关问题 更多 >
编程相关推荐