[Modeling-cvs] ProjectModeling/Modeling/tests/testPackages/AuthorBooks pymodel_AuthorBooks.py,NONE,1
Status: Abandoned
Brought to you by:
sbigaret
|
From: <sbi...@us...> - 2003-06-28 15:39:32
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/tests/testPackages/AuthorBooks
In directory sc8-pr-cvs1:/tmp/cvs-serv11508/tests/testPackages/AuthorBooks
Added Files:
Tag: brch-0_9pre7-1-PyModel
pymodel_AuthorBooks.py
Log Message:
Added PyModel for AuthorBooks
--- NEW FILE: pymodel_AuthorBooks.py ---
#! /usr/bin/env python
'''
A sample Pythonic OO-RDB Model
(re-expressing testPackages/AuthorBooks/model_AuthorBooks.xml) --
A PyModel must define a global variable called 'model', that is of type Model
'''
from Modeling.PyModel import *
##
# Set preferred defaults for this model (when different from
# standard defaults, or if we want to make things explicit)
AFloat.defaults['precision'] = 10
AFloat.defaults['scale'] = 2
AString.defaults['width'] = 40
Association.defaults['delete']=['nullify', 'nullify']
Entity.defaults['properties'] = [
APrimaryKey('id', isClassProperty=0, isRequired=1, doc='PK')
]
##
_connDict = {'database': 'AUTHOR_BOOKS'}
model = Model('_AuthorBooks',adaptorName='Postgresql',
connDict=_connDict)
model.doc = ' ... '
model.version='0.1'
model.entities = [
#
Entity('_Book',
properties=[ APrimaryKey('id', isClassProperty=1),
AString('title', isRequired=1),
AFloat('price'), ],
),
Entity('_Writer',
properties=[ AString('lastName',isRequired=1, width=30,
displayLabel='Last Name', ),
AString('firstName',
displayLabel='First Name', ),
AInteger('age', displayLabel='Age', ),
ADateTime('birthday', usedForLocking=0,
displayLabel='birthday', ),
]
),
]
#---
model.associations=[
Association('_Book', '_Writer',
relations=['author', 'books'],
delete=['nullify', 'cascade'],
keys=['FK_Writer_Id', 'id']),
Association('_Writer', '_Writer',
relations=['pygmalion', None],
delete=['nullify', None],
keys=['FK_Writer_Id', 'id']),
]
model.build()
|