用于字段重命名的Django集成管理器

django-orm-unchained的Python项目详细描述


#django unchained

提供了重写django的默认queryset的一种更简单的方法,默认情况下,允许您在不重写所有queryset方法的情况下,访问任何queryset方法的args和kwargs。该包还提供一个
集成管理器和注入管理器,用于重新映射发送到orm的查询,或强制所有
查询包含特定约束。打开你的django应用程序!


您可以下载项目并将"client_errors"目录放入项目目录中。


将以下应用程序添加到"settings.py"文件中的项目"installed_app s"中:

``````
"unchained",
```



默认的'true`)



如果任何键的值以一个"uu"开头,则也可以动态地执行此操作,然后调用
模型的"get-field"映射器方法来获取正确的字段。

``python
来自django import model s
import uncheed

class foo(uncheed.integrationmodel):
字段映射{
"old":"new",
"blah":"那里有"
}
@classmethod
def get_field映射器(self,field):
动态返回%s%self.field_map.get(field)
`````

"unchained.injectionmodel"的行为类似,模型需要一个'injection\u map'
dict属性来告诉orm要查找什么。键表示要查找的字段或部分字段(因为它可能表示各种选项),值表示要使用的实际字段。如果该值以一个``前缀'开头,则将通过调用模型的
`get_injection_prefix`方法添加前缀。它总是调用模型上的"get_injection_value"方法来找出查询应该使用的值。

``python
class bar(unchained.injection model):
injection_map={
'search':'actual_search_field',
"部分":"你还不知道"
}
@classmethod
def get_injection_prefix(self):
返回"icoolbedynamic"

@classmethod
def get_injection_value(self,field):
如果field='搜索':
返回3
eliffield=="partial":
返回"heeeeey"
引发异常
````


或"unchained.unchainedmanager",您将需要全部替换这三个。(抱歉,这是一个django问题)。
您还可以直接将模型"objects"设置到自定义管理器,然后不需要重写模型本身。我倾向于继承自定义模型类,以免重复太多代码。但这取决于您。

``python
import unchained


class specialqueryset(unchained.unchainedqueryset)
def kwargs(self,**kwargs):
*参数:
对参数执行操作
返回参数

使用=self._db)

许可证)

版权所有(C)2011-2012 Beau Sorensen<;mail@beau sorensen.com>;

包括但不限于使用、复制、修改、合并、发布、分发、再授权和/或销售软件副本的权利,以及允许向其提供软件的人员这样做的权利,在满足以下条件的前提下:


上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

包括但不限于以下保证:
适销性、特定用途的适用性和不侵权。
在任何情况下,作者或版权所有人均不对因诉讼或合同、侵权或其他原因引起的任何
索赔、损害赔偿或其他责任负责来自、脱离或与
软件有关,或使用或与软件中的其他交易有关。

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

推荐PyPI第三方库


热门话题
JavaJSonarray不会从SeekBar读取double   使用另一个类从Java中的2D数组打印用户输入   java ClassNotFoundException的原因   spring调用两个方法以返回Java中的不同页面   httpurlconnection Java禁止的代码错误,但浏览器错误(2)   java画布矩阵转换   java:在另一个java映射中使用“Map”作为值   java“未找到用于解密的证书”(Apache CXF,WSSecurity)   java如何查看JTable中选择的行   java在没有xmlwrappers的情况下重复xml元素序列集   java将垂直直方图打印到控制台   java Spring JDBCTemplate:构造不带特殊字符的JSON   java PayPal RestApi获取用户信息