zeam.form.rdb
zeam.form.rdb provides an helper to generate form fields for zeam.form.base, using zeam.form.ztk fields from an SQLAlchemy model.
To accomplish, you must create your fields using the descriptor ModelFields in your form. It will automatically fetch the context of the form, and generate the fields accordingly, caching them (for performance reasons).
Example:
from zeam.form.rdb import ModelFields
from zeam.form.base import Form
class MyForm(Form):
label = "Test form"
fields = ModelFields()
In your SQLAlchemy schema, you can use the extra dictionnary info to control the widget generated. Foreign key will generate a choice of possible values to select, using the column you desire as title.
Example:
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})
For a ForeignKey, you have the possibility to provides multiple columns to foreignTitleColumn, and a function to be called to create the title as foreignTitleFactory, both in the info dictionnary. foreignTitleQuery can specified to refine the SQLAlchemy request used to obtain the title terms.
A field will be required unless the column is nullable, or the option required is given through info.
title and description from info will be used as well in order to create the form field.
Changes
1.0.1 (2012/12/12)
Fix title factory to support unicode values.
1.0 (2012/10/11)
Refactor not to rely any longer on zope.schema or megrok.rdb. SQLAlchemy Column’s are directly converted to zeam form fields. This requires zeam.form.ztk 1.3 or higher.
Add tests on field generation.
1.0b2 (2012/06/21)
Add support for title_query to filter out terms in a generated ForeignKey vocabulary.
1.0b1 (2012/04/27)
Initial version.
Metadata
Release files for zeam.form.rdb 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| zeam.form.rdb-1.0.1.tar.gz | 6.7 kB | Without provenance | Details for zeam.form.rdb-1.0.1.tar.gz |
Release files / zeam.form.rdb-1.0.1.tar.gz
| Download URL | zeam.form.rdb-1.0.1.tar.gz |
|---|---|
| Size | 6.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ea76f2c4ef0ed4cebe4c12260ecc909d1f1ee9a564cd1a6dd33f4bfa2d148ad9
|
|
BLAKE2b-256 checksum How to use checksums |
8d25b430ebcff28f49a79d5976af7dc1afcc01202aada04b03641901cd122c89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for zeam.form.rdb 1.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.