Sorry Michael,

# coding:utf-8
from portautos.ext.db import db

# association between type and maker tables
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')))

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

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

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

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


class Type(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)


class Maker(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)


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

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


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

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




Em quarta-feira, 13 de maio de 2015 12:49:43 UTC-3, willian coelho escreveu:
>
> 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')))
>
>
> class Type(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)
>
>
> class Maker(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' object has no attribute '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].
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.

Reply via email to