Please note: this project is inactive since early 2006
Modeling: User's Guide
Previous:
Modeling: User's Guide
Up:
Modeling: User's Guide
Next:
1. Introduction
Contents
1. Introduction
1.1 A historic preamble
1.2 About this manual
1 The essentials
2. Entity-Relationship Models
2.1 Sample models used in this manual
2.1.1 Model: AuthorBooks
2.1.2 Model: StoreEmployees
2.2 Concepts
2.3 Full description
2.3.1 Model
2.3.2 Entity
2.3.3 Attribute
2.3.4 Relationship
2.4 PyModels
2.4.1 Organization of this chapter
2.4.2 A sample PyModel
2.4.3 Defaults
2.4.4 Model
2.4.5 Entity
2.4.6 Attribute
2.4.7 Relationship
2.4.8 Association
2.5 XML model
2.5.1 Overview of the xml
2.5.2 Model
2.5.3 Entity
2.5.4 Attribute
2.5.5 Relationship
2.5.6 Full format of an xml-model
2.6 General guidelines and gotchas
2.6.1 Simple models (no inheritance)
2.6.2 Designing relationships
2.6.3 Modeling many-to-many relationships
2.6.4 How to model inheritance
2.7 Tools
2.7.1 The ZModeler
2.7.2 Scripts
2.8 Some References on E.-R. Modelling
3. Functionalities for Object Management
3.1 From model to python code
3.1.1 Generating the python code
3.1.2 Building the python package dynamically, at run-time
3.1.3 Static vs. dynamic: what's best?
3.2 The framework's requirements on python code
3.2.1 Package's, modules' and classes' names
3.2.2 Within classes
3.3 Automatic validation of referential and business-logic constraints
3.3.1 Integrity constraints derived from the underlying model
3.3.2 Checking constraints: key by key
3.3.3 Validation.ValidationException: the list of error-codes
3.3.4 Validating an object ``as a whole''
3.3.5 Misc.
4. Working with your objects: insert, changes, deletion
4.1 Ensuring unicity of an object
4.2 Inserting an object
4.3 Updating objects
4.4 Deleting an object
4.5 Fetching objects
4.5.1 Principles
4.5.2 Simple fetch
4.5.3 Pattern matching
4.5.4 Equality, comparisons, in and not in
4.5.5 Negating, Con- or disjoining qualifiers
4.5.6 Dotted notation
4.5.7 How much objects will a query fetch?
4.5.8 Fetching and inheritance
4.5.9 The influence of an EditingContext on fetchs
4.5.10 Fetching raw rows
4.6 Saving Changes
4.7 Discarding changes: the destruction process of an EditingContext
4.7.1 Finalizing an EditingContext: breaking reference cycles
4.7.2 Controlling the finalization stage
5. Nested EditingContexts
5.1 Bringing transactions to the object world
5.2 Declaring and using a nested EditingContext
5.3 Miscellaneous developer's hints
5.4 Limitations with multiple child EditingContexts
6. Integration in an application
6.1 Pure python applications
6.2 Instructions of use in a multi-threaded environment
6.3 Integration within application servers: using the sessioning mechanism
6.3.1 Sharing an EditingContext between sessions
6.3.2 Sessioning
6.4 Zope
6.4.1 Binding the default EC transactions to Zope transactions
6.5 Others
2 Advanced techniques
7. Accessing a model and its properties
8. Generic manipulation of objects
8.1 Manipulating objects and their relationships
8.2 Accessing the objects' properties
8.2.1 How does it work
8.2.2 The whole API
8.2.3 Examples
8.3 Mixing KeyValueCoding and model's properties
9. Handling custom types for attributes
9.1 Example: using FixedPoint for a price attribute
9.2 Behind the scenes
3 Appendices
A. Environment Variables
A.1 Core
A.2 Postgresql specific
A.3 Mysql specific
B. Frequently Asked Questions
B.1 Designing the model
Modeling: User's Guide
Previous:
Modeling: User's Guide
Up:
Modeling: User's Guide
Next:
1. Introduction
Release 0.9, documentation updated on March 4, 2006.
Comments are welcome:
Sebastien Bigaret
/
Modeling Home Page
Hosted by: