# coding=UTF-8 from api.extensions import db from api.models.locale import Locale class Category(db.Model): __tablename__ = 'categories' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(255), nullable=False) texts = db.relationship( 'CategoryTexts', backref='category', lazy='dynamic') def to_json(self): return { 'id': self.id, 'name': self.name, 'texts': [t.to_json() for t in self.texts] } class CategoryTexts(db.Model): __tablename__ = 'category_texts' id = db.Column(db.Integer, primary_key=True) category_id = db.Column(db.Integer, db.ForeignKey('categories.id')) locale = db.relationship("Locale") locale_id = db.Column(db.Integer, db.ForeignKey('locales.id')) wallpaper_name = db.Column(db.String(250)) wallpaper_h1 = db.Column(db.String(250)) wallpaper_description = db.Column(db.Text) canvas_name = db.Column(db.String(250)) canvas_h1 = db.Column(db.String(250)) canvas_description = db.Column(db.Text) design_wallpaper_name = db.Column('name', db.String(250)) design_wallpaper_h1 = db.Column(db.String(250)) design_wallpaper_description = db.Column(db.Text) poster_name = db.Column(db.String(250)) poster_h1 = db.Column(db.String(250)) poster_description = db.Column(db.Text) def to_json(self): return { 'id': self.id, 'locale': self.locale.value, 'wallpaper_name': self.wallpaper_name, 'wallpaper_h1': self.wallpaper_h1, 'wallpaper_description': self.wallpaper_description, 'canvas_name': self.canvas_name, 'canvas_h1': self.canvas_h1, 'canvas_description': self.canvas_description, 'design_wallpaper_name': self.design_wallpaper_name, 'design_wallpaper_h1': self.design_wallpaper_h1, 'design_wallpaper_description': self.design_wallpaper_description, 'poster_name': self.poster_name, 'poster_h1': self.poster_h1, 'poster_description': self.poster_description, }