Files
api2/api/models/category.py
T

54 lines
1.8 KiB
Python

# 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)
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,
}