Dynamic Proxy Models for Django

django_dynprox的Python项目详细描述


Django_dynproxy公司
===============

django的动态代理模型

使用django_dynproxy,可以通过以下方式动态修改django代理模型:
*隐藏一个或多个字段(从具体父模型)
*强制一个或多个字段(在具体父模型中不是强制字段)

如果希望在代码中使用继承,而不是在数据库中使用继承,则这可能很有用

警告:这是alpha版本。不建议用于生产用途

要求:
-----

django>;=1.4.3

安装:
-----

PIP安装django_dynproxy

用法:
---

1)创建具体模型

2)创建从具体模型派生的django代理模型

3)使用dynproxy_元类工厂定义元类并指定:
-要从代理模型中排除哪些基本字段
-要强制使用代理模型的哪些非强制基本字段

4)将“uu”元类添加到代理模型类


样品:
---

从dynproxy.utils导入dynproxy_元类工厂

旅行家型飞行员='1'
旅客类型='2'

旅行者类型=(
(旅行者式飞行员,飞行员)
(旅客类型,旅客)


旅客舱(模型、模型):
名字=models.charfield(最大长度=200)
姓氏=models.charfield(最大长度=200)
类型=models.charfield(最大长度=200,选项=旅行者类型)
护照号=models.charfield(最大长度=200,空白=真)
trigram=models.charfield(最大长度=200,空白=true)
pilot_category=models.foreignkey(pilotcategory,空=真,空=真)


定义Unicode(自身):
返回%s%s%(self.first_name,self.last_name)

def traveler_manager_factory(traveler_类型):
旅行经理(经理):
定义获取查询集(自身):
返回super(_travelermanager,self).get_query_set().filter(type=traveler_type)
返回TravelerManager

pilot manager=traveler_manager_工厂(traveler_type_pilot)
旅客经理=旅客经理工厂(旅客类型)


pilotmetaclass=dynproxy_元类工厂(
必选字段=['trigram','pilot_category'],
要排除的字段=[“护照号码”]


passengermetaclass=dynproxy_元类工厂(
必选字段=['护照号码',
要排除的字段=['trigram','pilot_category']



驾驶员(旅客):

对象=PilotManager()
类元:
代理=真

旅客(旅客)等级:

对象=PassengerManager()
类元:
代理=真

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

推荐PyPI第三方库


热门话题
javascript问题:通过URL用网站数据填充Textview   java TabLayout Android,如何用几个标签填充整个屏幕宽度,并用大量标签滚动?   Eclipse Java运行的文件不再存在于我的工作区中   安装两个Java版本时,使用Java的windows链接不起作用   java将多个图形添加到单个JPanel   java Kafka ConsumerFactory,带有两个Desiarizer   使用反射更改java类超类   当一致性测试失败时,java有没有办法让堆栈跟踪显示在控制台中   java映射到基元类型的HashMap的快速替代方案是什么?   java关闭一个jframe所有剩余的打开jframe都将关闭。   java为什么不推荐“使用getString()获取设备标识符”?   java值比较和值赋值之间有什么性能差异吗?   Java实体数组到JavaScript数组   java使用流将一个列表转换为另一个列表   在JTree中保存对象,但更改显示的名称(java swing)?   java“Hello world”Android应用程序,文件尽可能少,没有IDE,只有文本编辑器   java在方法之间传递值   java如何为项目数组创建ParseQuery?