Django小技巧11:自定义链式Queryset Manager

在 Django Model 中,Manager是与数据库交互的接口。默认情况下Manager可通过属性使用。默认情况下, 每个 Model 的默认 Manager 是。扩展和重写默认Manager非常简单.

设置后, 你可以通过方法快速的过滤属于 PDF 的文档.

当然,返回的结果是链式的, 依然拥有 queryset 的一些操作方法( 或 等..).

但是, 如果你试图在使用自定义的一些方法, 链式将会中止:

要使上述代码能够工作, 你必须创建自定义的方法.

现在可以像任何的 QuerySet 方法一样使用他。 并且是链式的!

Manager 除了自定义 QuerySet 还可以做其他的工作, 如果你只在 Manager 中自定义 QuerySet ,推荐扩展下, 并在模型中定义.

自定义的 Manager 代码, 你可以写在models.py, 但随着代码库的增长, 我更加推荐你将定义的 和保存名为managers.py文件中.

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181210G18A2L00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券