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 RFID不完整输出?   java如何构造一个for循环来查找每个数组的第一个索引的总和   java Eclipse AST解析器正在删除我的规则   安卓如何在java中创建“可重写”配置?   java每次我向应用程序添加图像时,它都会崩溃   Java 8流到文件   EntityNotFoundException的java可能原因   java多线程为什么下面的程序表现得如此怪异?   java footprint soap api+mavenjaxb2plugin   java MongoDB锁定,直到找到结果   java重写Jtable选项卡行为转到下一个可编辑单元格   java关于方法和创建另一个方法   java将人脸与图像分离   java复制Spring批处理作业实例   java TextView不会更改为新设置的文本