我正在寻找一些方法来定义在调用Model.objects.all()
之前调用的包装器。
我想每当我打电话,Model.objects
它调用我的方法(包装器),然后将对象返回给查询。
让我们举一个例子:
MyModel.objcts.filter(name="Jack")
打包机:
def mymodelWrapper(self):
return self.objects.annotate(size=Sum('id', field='order_size_weight*requested_selling_price'))
我想在后台运行注释,并且还想应用过滤器。 我知道我想要实现什么,我正在寻找如何做到的代码。
答案 0 :(得分:1)
class MyModelManager(models.Manager):
def get_query_set(self):
return super(MyModelManager, self).get_query_set().annotate(size=Sum('id', field='order_size_weight*requested_selling_price'))
class MyModel(models.Model):
objects = MyModelManager()
# fields
另见其他类似主题: