class Thumb(db.Model): id = db.Column(db.Integer, primary_key=True) pid = db.Column(db.Integer, db.ForeignKey('image.id')) path = db.Column(db.String(500)) @property def mode(self): return path[:4]
class Image(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(32)) album_id = db.Column(db.Integer, db.ForeignKey('album.id')) tags = db.relationship('Tag', secondary=tags, backref=db.backref('images')) path = db.Column(db.String(500)) @property def link(self): if self.path[:4] == 'http': return self.path elif self.path[:4] == 'path': return url_for('album.blob', id=self.id) raise UnknownPathError('path %s cannot be recognited')
class ThumbData(db.Model): __bind_key__ = 'thumb_db' id = db.Column(db.Integer, primary_key=True) data = db.Column(db.Binary)
class Tag(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(20))
from narcissus.exts import db tags = db.Table( 'tags', db.Column('tag_id', db.Integer, db.ForeignKey('tag.id')), db.Column('image_id', db.Integer, db.ForeignKey('image.id')) ) class Tag(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(20))