hi thanks for the reply.. but one doubt how will i access the "MyClass" inside MyClass
i tried ndex('ix_name_type', MyClass.__table__.c.name,MyClass.__table__.c.type, unique=True) it is giving the error NameError: name 'MyClass' is not defined thanks On Aug 21, 2:04 pm, "King Simon-NFHD78" <simon.k...@motorola.com> wrote: > > -----Original Message----- > > From: sqlalchemy@googlegroups.com > > [mailto:sqlalch...@googlegroups.com] On Behalf Of rajasekhar911 > > Sent: 21 August 2009 07:30 > > To: sqlalchemy > > Subject: [sqlalchemy] Re: index in SA > > > i want to add a composite index to the class inherited from > > declarative_base > > > I tried this, > > > class MyClass: > > __tablename__ = 'my_table' > > > id = Column(Integer, primary_key=True) > > name = Column(String, nullable=False) > > type = Column(String, nullable=False) > > __table_args__ = ( > > Index('ix_name_type','name','type',unique=True) > > ) > > > gave me an error, > > File "/m2svn/trunk/src/model/MyClass.py", line 32, in MyClass > > __table_args__ = ( > > File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.5.5-py2.4.egg/ > > sqlalchemy/schema.py", line 1461, in __init__ > > self._init_items(*columns) > > File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.5.5-py2.4.egg/ > > sqlalchemy/schema.py", line 1465, in _init_items > > self.append_column(_to_schema_column(column)) > > File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.5.5-py2.4.egg/ > > sqlalchemy/schema.py", line 2145, in _to_schema_column > > raise exc.ArgumentError("schema.Column object expected") > > sqlalchemy.exc.ArgumentError: schema.Column object expected > > I'm not sure if this is the root cause of your error, but __table_args__ > must either be a dictionary or a tuple where the last element is a > dictionary (according > tohttp://www.sqlalchemy.org/docs/05/reference/ext/declarative.html#table-c > onfiguration) > > Also, I think Index may require actual column parameters rather than > strings (according > tohttp://www.sqlalchemy.org/docs/05/metadata.html#indexes). You may be > able to use something like the following after your class definition: > > Index('ix_name_type', MyClass.__table__.c.name, > MyClass.__table__.c.type, unique=True) > > or even > > Index('ix_name_type', MyClass.name, MyClass.type, unique=True) > > Hope that helps, > > Simon --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---