允许用户在django模型上创建作用域的mixin。

django-easy-scoping的Python项目详细描述


django easy scoping允许您在 你的Django模特。

安装

要获取ScopingMixin.py文件,可以下载它或使用pip。

下载文件

从GITHUB下载SCOMPIN MIXIN文件。 ScopingMixin.py

ScopingMixin.py导入ScopingMixinScopingQuerySet

from<pathtofile>.ScopingMixinimportScopingMixin,ScopingQuerySet

使用pip

$ pip install django-easy-scoping

ScopingMixin.py导入ScopingMixinScopingQuerySet

fromDjangoEasyScoping.ScopingMixinimportScopingMixin,ScopingQuerySet

实施

ScopingMixin与要为其创建作用域的django模型混合。

classPurchase(ScopingMixin,models.Model):

使用ScopingQuerySet覆盖该模型的queryset。

objects=ScopingQuerySet.as_manager()

完成!

使用现有的管理器/查询集< /H2>实现

如果您想继续使用自己的自定义管理器/queryset,那么您可以! 如果要将作用域QuerySet重写命名为 不是objects的东西,例如:

other_name=ScopingQuerySet.as_manager()

然后在sites-packages中打开ScopingMixin.py,然后编辑以下内容 方法。

classScopingMixin(object):@classmethoddefget_scope(cls,name)ifhasattr(cls,'__scopes__')andnameincls.scopes():returngetattr(cls.objects.all(),name)@classmethoddefget_aggregate(cls,name)ifhasattr(cls,'__aggregate__')andnameincls.aggregates():returngetattr(cls.objects.all(),name)

变成

classScopingMixin(object):@classmethoddefget_scope(cls,name)ifhasattr(cls,'__scopes__')andnameincls.scopes():returngetattr(cls.other_name.all(),name)@classmethoddefget_aggregate(cls,name)ifhasattr(cls,'__aggregate__')andnameincls.aggregates():returngetattr(cls.other_name.all(),name)

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

推荐PyPI第三方库


热门话题
java中char的用途   swing修复,以便显示可以同时显示十进制数和整数   java给定一个场景,找到拥有的JFXPanel   java JPA 2标准获取路径导航   java如何用JUnit测试这个类?   JSF中的java请求作用域   Spring云Zuul代理背后的java Spring OAuth授权服务器   java限制聚合返回的存储桶大小   java如何在安卓应用程序中请求超级su权限   防止超级关键字的java Checkstyle规则   java 安卓。应用程序。应用程序无法强制转换到安卓。应用程序。在回收器适配器中使用FragmentManager时的活动   使用Java的Twitter广告API   切换到4.0.1版本后,java“JavaMailSenderImpl无法解析为类型”   java没有getter方法可用于名称下bean的属性   java 0/1背包堆空间   java我无法使用断点进行调试   Jar文件名表单java代码   java调用从扩展活动的MainActivity类扩展片段的类片段