django模型的物化注释

dj_mano的Python项目详细描述


django模型的具体化注释。典型的用例是跟踪 文章中的评论,或用户的贡献数。

安装

pip install dj_mano

用法

代码

使用dj_mano非常简单,您只需创建一个字段并给它添加注释 想让它保持住。

如果需要,可以对正在执行的批注应用一些筛选器,例如只计算正数 例举评论。在这种情况下,您可以提供一个函数,该函数将返回 将被注释。注意,queryset必须从持有物化对象的对象开始 注释字段。

型号
fromdjango.dbimportmodelsfromdj_manoimportMaterializedAnnotationIntegerFielddefswag_model_c():returnModelA.objects.filter(models_b__models_c__has_swag=True)classModelA(models.Model):count_b=MaterializedAnnotationIntegerField(models.Count('models_b'))count_c=MaterializedAnnotationIntegerField(models.Count('models_b__models_c'))count_swag=MaterializedAnnotationIntegerField(models.Count('models_b__models_c'),swag_model_c)classModelB(models.Model):model_a=models.ForeignKey('ModelA',related_name='models_b')classModelC(models.Model):model_b=models.ForeignKey('ModelB',related_name='models_c')has_swag=models.BooleanField(default=False)

网址.py

fromdjango.conf.urlsimportpatternsfromdj_manoimporthook_it_allhook_it_all()urlpatterns=patterns('',...)

命令

有一个命令可以简单地将所有字段同步到它们的实际值。

注意:如果要使用此命令,则必须将dj mano放入已安装的应用程序中。

./manage.py dj_mano_sync

许可证

这个库是根据wtfpl的条款授权的。请参阅随附的许可证文件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java与Groovy正则表达式匹配混淆   java控制台未定义为JSNI   主目录中的java指针异常   java如何获取hashmap中的arrayList的大小   ApachePOI用于文本,Java代码中的word doc(.docx)中没有进行追加   Ruby对象到Java对象   JavaSpringJPA哈希集只返回一个值   Java在执行由配置了精确类路径参数的mavenjarpluin生成的可执行jar时无法找到依赖项   java我试图在画布上写一个文本,但什么也没发生   java HTTP 404源服务器找不到目标资源的当前表示形式,或者不愿意透露存在该表示形式。不起作用   java提取小数点后的最后一个数字   oop Java:无法访问对象的元素   PHP URL中RecyclerView中的java句柄空异常   不调用OnCreateViewHolder的java Update RecyclerView适配器项