class wrong(P.PyDO): table = 'c' connectionAlias = 'pydotest' # this is wrong in two ways; # id is a sequence, and # x isn't unique. fields = (P.Unique('id'), P.Unique('x'))
def test_inheritance2(): FIELDS1=('nincompoop', P.Unique('id')) FIELDS2=('imbecile', 'id') class foo(object): fields=FIELDS1 class goo(object): fields=FIELDS2 class phoo1(foo, goo): pass class phoo2(goo, foo): pass assert phoo1.fields==FIELDS1 assert phoo2.fields==FIELDS2 class foo(P.PyDO): fields=FIELDS1 class goo(P.PyDO): fields=FIELDS2 class phoo1(foo, goo): pass class phoo2(goo, foo): pass assert phoo1.fields==FIELDS1 assert phoo1.getUniquenessConstraints(), "phoo1 should have a unique key" assert phoo2.fields==FIELDS2 assert not phoo2.getUniquenessConstraints(), "phoo2 shouldn't have a unique key"
class D(P.PyDO): connectionAlias='pydotest' if guess: guess_columns=True else: fields=(P.Unique('id'), 'x')
class A(P.PyDO): connectionAlias = 'pydotest' if guess: guess_columns = True else: fields = (P.Sequence('id'), P.Unique('name'), 'b_id', 'd', 'ta', 'tb', 'w', 'x', 'y', 'z') unique = (('y', 'z'), ) def getB(self): return B.getUnique(id=self.b_id) def getC(self): return self.joinTable('id', 'a_c', 'a_id', 'c_id', C, 'id')
class obj(P.PyDO): table='test_new1' connectionAlias='pydotest' fields=(P.Unique('id'), 'x')
class nougat(P.PyDO): schema='public' fields=(P.Sequence('id'), P.Unique('title'), 'foo', 'bar')
class torte2(P.PyDO): fields=(P.Sequence('id'), P.Unique('title'), 'x', 'y', 'z')