our_stuff = {}
for k in dict_:
value = dict_[k]
+ if (isinstance(value, tuple) and len(value) == 1 and
+ isinstance(value[0], (Column, MapperProperty))):
+ util.warn("Ignoring declarative-like tuple value of attribute "
+ "%s: possibly a copy-and-paste error with a comma "
+ "left at the end of the line?" % k)
+ continue
if not isinstance(value, (Column, MapperProperty)):
continue
prop = _deferred_relation(cls, value)
from sqlalchemy import *
from sqlalchemy.orm import *
from sqlalchemy.ext.declarative import declarative_base, declared_synonym
+from sqlalchemy import exceptions
from testlib.fixtures import Base as Fixture
from testlib import *
self.assertEquals(a1, Address(email='two'))
self.assertEquals(a1.user, User(name='u1'))
+ @testing.emits_warning('Ignoring declarative-like tuple value of '
+ 'attribute id')
+ def test_oops(self):
+ def define():
+ class User(Base, Fixture):
+ __tablename__ = 'users'
+
+ id = Column('id', Integer, primary_key=True),
+ name = Column('name', String(50))
+ assert False
+ self.assertRaisesMessage(
+ exceptions.ArgumentError,
+ "Mapper Mapper|User|users could not assemble any primary key",
+ define)
+
def test_expression(self):
class User(Base, Fixture):
__tablename__ = 'users'