任何人都可以帮我创建一个执行以下操作的自定义管理器....
这对我来说只是一个学习练习,它不是真正的应用,所以我尽可能多地解释。
1)需要2个对象,其自身(人物)和个人资料
2)将person.age与profile.dog_years分开
3)将此添加到模型
我的猜测是,首先我在models.py中创建一个自定义管理器
class PersonManager(models.Manager):
def make_score(self,profile):
在自定义管理器中,我然后进行数学self.age / profile.dog_years。
然后有些人如何归还?
将其添加到模型中,即dogAge = PersonManager()
结果:
然后,我希望发生的是,当我看到所有人的时候 返回Profile.objects.filter()(不知何故在这里传递个人资料?)它有一个名为dogAge的新字段,列出所有人的狗年龄。
答案 0 :(得分:1)
这不是您在Manager中所做的事情。这是普通模型方法的工作。
管理器方法适用于以某种方式修改查询的内容。这不是你想要做的:你想要为查询集中的每个对象注释一个属性。由于这不需要任何进一步的数据库计算,因此模型方法是合适的地方。