def create_models(self):
        tagging = sa.Table(
            'tagging', self.Base.metadata,
            sa.Column('tag_id',
                      sa.Integer,
                      sa.ForeignKey('tag.id', ondelete='cascade'),
                      primary_key=True),
            sa.Column('entry_id',
                      sa.Integer,
                      sa.ForeignKey('entry.id', ondelete='cascade'),
                      primary_key=True))

        class Tag(self.Base):
            __tablename__ = 'tag'
            id = sa.Column(sa.Integer, primary_key=True)
            name = sa.Column(sa.String(100), unique=True, nullable=False)

            def __init__(self, name=None):
                self.name = name

        class Entry(self.Base):
            __tablename__ = 'entry'

            id = sa.Column(sa.Integer, primary_key=True)

            tags = sa.orm.relationship('Tag',
                                       secondary=tagging,
                                       backref='entries')

        auto_delete_orphans(Entry.tags)

        self.Tag = Tag
        self.Entry = Entry
def Entry(Base, Tag, tagging_tbl, request):
    class Entry(Base):
        __tablename__ = 'entry'

        id = sa.Column(sa.Integer, primary_key=True)

        tags = sa.orm.relationship(Tag,
                                   secondary=tagging_tbl,
                                   backref=request.param)

    auto_delete_orphans(Entry.tags)
    return Entry
def Entry(Base, Tag, tagging_tbl):
    class Entry(Base):
        __tablename__ = 'entry'

        id = sa.Column(sa.Integer, primary_key=True)

        tags = sa.orm.relationship(
            'Tag',
            secondary=tagging_tbl,
            backref='entries'
        )
    auto_delete_orphans(Entry.tags)
    return Entry
    def create_models(self):
        tagging = sa.Table(
            'tagging',
            self.Base.metadata,
            sa.Column(
                'tag_id',
                sa.Integer,
                sa.ForeignKey('tag.id', ondelete='cascade'),
                primary_key=True
            ),
            sa.Column(
                'entry_id',
                sa.Integer,
                sa.ForeignKey('entry.id', ondelete='cascade'),
                primary_key=True
            )
        )

        class Tag(self.Base):
            __tablename__ = 'tag'
            id = sa.Column(sa.Integer, primary_key=True)
            name = sa.Column(sa.String(100), unique=True, nullable=False)

            def __init__(self, name=None):
                self.name = name

        class Entry(self.Base):
            __tablename__ = 'entry'

            id = sa.Column(sa.Integer, primary_key=True)

            tags = sa.orm.relationship(
                'Tag',
                secondary=tagging,
                backref='entries'
            )

        auto_delete_orphans(Entry.tags)

        self.Tag = Tag
        self.Entry = Entry
Exemple #5
0
    def __repr__(self):
        return '<Point %d>' % (self.id)
    
    def getJSON(self):
        json = { "position": self.position,
                 "lat": self.location.lat,
                 "lon": self.location.lon
                }
        return json
    
    
# Obstacle Class
class Obstacle(db.Model):
    # table name
    __tablename__ = 'obstacle'
    
    # columns
    id = db.Column(db.Integer(), primary_key=True)
    loc_id = db.Column(db.Integer(), db.ForeignKey('location.id'))
    
    # relationships
    location = db.relationship("Location",backref=db.backref("obstacle", uselist=False), cascade="all, delete-orphan", single_parent=True)
    
    # inheritance
    
    # class functions
    def __repr__(self):
        return '<Obstacle %d>' % (self.id)

auto_delete_orphans(Node.jumppoints)    
auto_delete_orphans(Node.goals)    
 def test_orphan_deletion(self, EntryWithoutTagsBackref):
     with pytest.raises(ImproperlyConfigured):
         auto_delete_orphans(EntryWithoutTagsBackref.tags)
 def test_orphan_deletion(self, EntryWithoutTagsBackref):
     with pytest.raises(ImproperlyConfigured):
         auto_delete_orphans(EntryWithoutTagsBackref.tags)
 def test_orphan_deletion(self):
     with raises(ImproperlyConfigured):
         auto_delete_orphans(self.Entry.tags)
 def test_orphan_deletion(self):
     with raises(ImproperlyConfigured):
         auto_delete_orphans(self.Entry.tags)