please run the attached.  your code runs fine.


On 5/13/15 11:49 AM, willian coelho wrote:
Hello everyone,

I`m getting an error when creating a new instance of my model `Type`. I have a many-to-many relationship between Type and Maker.

Code:
|
type_maker =db.Table('type_maker', db.metadata, db.Column('type_id',db.Integer,db.ForeignKey('type.id')), db.Column('maker_id',db.Integer,db.ForeignKey('maker.id'))) classType(db.Model):"""VehicleType """__tablename__ ='type'id =db.Column(db.Integer,primary_key=True) name =db.Column(db.String(50),unique=True,index=True) makers =db.relationship('Maker',secondary='type_maker',backref=db.backref('type'))def__repr__(self):return'<Type #{}: {}>'.format(self.id,self.name) classMaker(db.Model):"""VehicleMaker """__tablename__ ='maker'id =db.Column(db.Integer,primary_key=True) name =db.Column(db.String(50),index=True) versions =db.relationship('Version',backref=db.backref('maker'))def__repr__(self):return'<Maker #{}: {}>'.format(self.id,self.name)
type_ =Type(name='Car')
|

Error:
|
'tuple'objecthas noattribute 'foreign_keys'
|

What is wrong with the code?

Thanks in advance!
Michael Coelho.

--
You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>. To post to this group, send email to [email protected] <mailto:[email protected]>.
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.
from sqlalchemy import *
from sqlalchemy.orm import *
from sqlalchemy.ext.declarative import declarative_base

Model = declarative_base()

metadata = Model.metadata


# association between type and maker tables
type_maker = Table('type_maker', metadata,
    Column('type_id', Integer, ForeignKey('type.id')),
    Column('maker_id', Integer, ForeignKey('maker.id')))

# association between vehicle and maker tables
vehicle_maker = Table('vehicle_maker', metadata,
    Column('maker_id', Integer, ForeignKey('maker.id')),
    Column('vehicle_id', Integer, ForeignKey('vehicle.id')))

# association between vehicle and model tables
vehicle_model = Table('vehicle_model', metadata,
    Column('model_id', Integer, ForeignKey('model.id')),
    Column('vehicle_id', Integer, ForeignKey('vehicle.id')))

# association between vehicle and version tables
vehicle_version = Table('vehicle_version', metadata,
    Column('version_id', Integer, ForeignKey('version.id')),
    Column('vehicle_id', Integer, ForeignKey('vehicle.id')))

# association between vehicle and feature tables
vehicle_feature = Table('vehicle_feature', metadata,
    Column('vehicle_id', Integer, ForeignKey('vehicle.id')),
    Column('feature_id', Integer, ForeignKey('feature.parent_id')))


class Type(Model):
    """VehicleType
    """
    __tablename__ = 'type'
    id = Column(Integer, primary_key=True)
    name = Column(String(50), unique=True, index=True)
    makers = relationship('Maker', secondary=type_maker, backref=backref('type'))

    def __repr__(self):
        return '<Type #{}: {}>'.format(self.id, self.name)


class Maker(Model):
    """VehicleMaker
    """
    __tablename__ = 'maker'
    id = Column(Integer, primary_key=True)
    name = Column(String(50), index=True)
    versions = relationship('Version', backref=backref('maker'))

    def __repr__(self):
        return '<Maker #{}: {}>'.format(self.id, self.name)


class Version(Model):
    """VehicleVersion
    """
    __tablename__ = 'version'
    id = Column(Integer, primary_key=True)
    maker_id = Column(Integer, ForeignKey('maker.id'))
    name = Column(String(50), index=True)
    code = Column(String(10), index=True)
    models = relationship('Model', backref=backref('version'))

    def __repr__(self):
        return '<Version #{}: {}>'.format(self.id, self.name)


class Model(Model):
    """VehicleModel
    """
    __tablename__ = 'model'
    id = Column(Integer, primary_key=True)
    version_id = Column(Integer, ForeignKey('version.id'))
    name = Column(String(50), index=True)
    code = Column(String(10), index=True)
    price = Column(Float(precision=2), index=True)

    def __repr__(self):
        return '<Model #{}: {}>'.format(self.id, self.name)

print Type()

Reply via email to