0.3.7
- engines
- - SA default loglevel is now "WARN". we have a few warnings
- for things that should be available by default.
+ - warnings module used for issuing warnings (instead of logging)
- cleanup of DBAPI import strategies across all engines
[ticket:480]
- refactoring of engine internals which reduces complexity,
encodedname = property(lambda s: s.name.encode('ascii', 'backslashreplace'))
def _init_primary_key(self):
- pkcol = util.Set()
+ pkcol = util.OrderedSet()
for col in self._adjusted_exportable_columns():
if col.primary_key:
pkcol.add(col)
j = join(users, userkeywords,
users.c.user_id==userkeywords.c.user_id).join(keywords,
userkeywords.c.keyword_id==keywords.c.keyword_id)
-
+ print "PK", j.primary_key
# a class
class KeywordUser(object):
pass
m = mapper(KeywordUser, j, properties={
'user_id':[users.c.user_id, userkeywords.c.user_id],
'keyword_id':[userkeywords.c.keyword_id, keywords.c.keyword_id],
- 'keyword_name':keywords.c.name
-
- })
+ 'keyword_name':keywords.c.name,
+ }, )
k = KeywordUser()
k.user_name = 'keyworduser'
k.keyword_name = 'a keyword'
ctx.current.flush()
print m.instance_key(k)
- id = (k.keyword_id, k.user_id)
+
+ id = (k.user_id, k.keyword_id)
ctx.current.clear()
k = ctx.current.query(KeywordUser).get(id)
assert k.user_name == 'keyworduser'