对zeam.form的额外sqlalchemy支持

zeam.form.rdb的Python项目详细描述


zeam.form.rdb提供了一个帮助程序来为 zeam.form.base,使用SQLAlchemy中的zeam.form.ztk字段 模型。

要完成此任务,必须使用描述符创建字段 ModelFields在您的表单中。它将自动获取上下文 ,并相应地生成字段,缓存它们(用于 性能原因)。

示例:

from zeam.form.rdb import ModelFields
from zeam.form.base import Form

class MyForm(Form):
    label = "Test form"
    fields = ModelFields()

SQLAlchemy模式中,可以使用额外的措辞 info来控制生成的小部件。外键将生成 选择要选择的可能值,使用所需的列 头衔。

示例:

from sqlalchemy import Column, ForeignKey
from sqlalchemy.types import Integer, String
from zeam.form.ztk.widgets.uri import URIField

idT_Effort = Column(
    'idT_Effort',
    Integer,
    primary_key=True,
    info={'title': u"Identifier"})
idT_Opportunity = Column(
    'idT_Opportunity',
    Integer,
    ForeignKey('T_Opportunity.idT_Opportunities'),
    info={'title': u'Opportunity',
          'foreignTitleColumn': 'Title'})
Name = Column(
    'Name',
    String(45),
    info={'minLength': 20,
          'maxLength': 45})
URL = Column(
    'URL',
    String(63),
    info={'title': u"URL",
          'description': u"Website URL"
          'factory': URIField,
          'defaultValue': 'http://github.com',
          'required': True})

对于外键,您可以提供多个 要foreignTitleColumn的列,以及要调用的函数 在^{tt3}中创建标题为foreignTitleFactory。$ 措辞。foreignTitleQuery可以指定来优化 用于获取标题术语的sqlalchemy请求。

除非列可以为空或选项 required通过info给出。

^来自info的{tt10}$和description也将用于 创建窗体字段的顺序。

更改

1.0.1(2012/12/12)

  • 修复标题工厂以支持Unicode值。

1.0(2012/10/11)

  • 重构不再依赖zope.schemamegrok.rdb。sqlalchemy列直接转换为zeam 表单字段。这需要zeam.form.ztk1.3或更高版本。
  • 添加字段生成测试。

1.0b2(2012/06/21)

  • 添加对title_query的支持以筛选生成的 外国语词汇。

1.0b1(2012/04/27)

  • 初始版本。

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

推荐PyPI第三方库


热门话题
java如何使用Spring和JSF向客户端授予临时权限   java除了Array/ArrayList之外,还有其他保存矩阵元素的方法吗   java BeanValidation不适用于单选按钮   通过java程序连接到配置单元数据库时出错   java如何使用maven解决二级依赖关系   JfreeChart/Java中带有图例的数据表   合并数组时发生java运行时错误   安全性如何在JavaEE中保护WebSocket端点?   java有没有一种方法可以使用insert方法为树插入值   java编程“静态”的另一种方式:代码可以吗?   java阅读文本文件时如何跳过3行   %04X在C中的含义以及如何在java中编写   java我如何验证一个方法不是仅在一个测试范围内对模拟调用的?   java如何在mac中使用启动appium desktop 1.6.1。球棒   仅匹配最多10位小数的java正则表达式