def _class_for_table(session, engine, selectable, base_cls, mapper_kwargs): selectable = expression._clause_element_as_expr(selectable) mapname = 'Mapped' + _selectable_name(selectable) # Py2K if isinstance(mapname, unicode): engine_encoding = engine.dialect.encoding mapname = mapname.encode(engine_encoding) # end Py2K if isinstance(selectable, Table): klass = TableClassType(mapname, (base_cls,), {}) else: klass = SelectableClassType(mapname, (base_cls,), {}) def _compare(self, o): L = list(self.__class__.c.keys()) L.sort() t1 = [getattr(self, k) for k in L] try: t2 = [getattr(o, k) for k in L] except AttributeError: raise TypeError('unable to compare with %s' % o.__class__) return t1, t2 # python2/python3 compatible system of # __cmp__ - __lt__ + __eq__ def __lt__(self, o): t1, t2 = _compare(self, o) return t1 < t2 def __eq__(self, o): t1, t2 = _compare(self, o) return t1 == t2 def __repr__(self): L = ["%s=%r" % (key, getattr(self, key, '')) for key in self.__class__.c.keys()] return '%s(%s)' % (self.__class__.__name__, ','.join(L)) for m in ['__eq__', '__repr__', '__lt__']: setattr(klass, m, eval(m)) klass._table = selectable klass.c = expression.ColumnCollection() mappr = mapper(klass, selectable, extension=AutoAdd(session), **mapper_kwargs) for k in mappr.iterate_properties: klass.c[k.key] = k.columns[0] klass._query = session.query_property() return klass
import datetime from lib.sqlalchemy import Table, Column, String, Integer, DateTime, MetaData, ForeignKey from lib.sqlalchemy.orm import mapper metadata = MetaData() vservers = Table('vserver', metadata, Column('id', Integer, primary_key=True), Column('name', String), Column('ip', String), Column('password', String), Column('memory', Integer), Column('create_date', DateTime) ) class Vserver(object): def __init__(self, **kwargs): self.name = kwargs['name'] self.ip = kwargs['ip'] self.password = kwargs['password'] self.memory = kwargs['memory'] self.create_date = datetime.datetime.now() def __repr__(self): return "%s di ip %s" %(self.name,self.ip) mapper(Vserver, vservers)
from lib.sqlalchemy import Table, Column, String, Integer, MetaData, ForeignKey from lib.sqlalchemy.orm import mapper metadata = MetaData() users = Table('users', metadata, Column('id', Integer, primary_key=True), Column('username', String), Column('password', String), Column('name', String) ) class User(object): def __init__(self,username,password,name): self.username = username self.password = password self.name = name def __repr__(self): return "%s" % self.name mapper(User, users)
from lib.sqlalchemy import Table, Column, String, Integer, Text, MetaData, ForeignKey from lib.sqlalchemy.orm import mapper metadata = MetaData() events = Table('event', metadata, Column('id', Integer, primary_key=True), Column('event_name', String), Column('description', Text), Column('code', Integer), sqlite_autoincrement=True ) class Event(object): def __init__(self, **kwargs) self.event_name = kwargs['event_name'] self.description = kwargs['description'] self.code = kwargs['code'] def __repr__(self): return self.event_name mapper(Event, events)