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
-~----------~----~----~----~------~----~------~--~---

Reply via email to