Squashed commit of the following: commit 801333b25a635c5fce12d937d6808894ef2475d3 Author: Martin <me.carlsson@gmail.com> Date: Tue Jan 3 10:59:45 2017 +0100 PW-622 divide by float commit 9e2c696751c28c017bcb452ea4349509ca787fd9 Author: Martin <me.carlsson@gmail.com> Date: Mon Jan 2 13:46:57 2017 +0100 PW-622 use new material_price column
57 lines
1.4 KiB
Python
57 lines
1.4 KiB
Python
# coding=UTF-8
|
|
|
|
from api.extensions import db
|
|
from flask_sqlalchemy import BaseQuery
|
|
|
|
|
|
class Product(db.Model):
|
|
|
|
__tablename__ = 'product-products'
|
|
|
|
id = db.Column('productid', db.Integer, primary_key=True)
|
|
designerid = db.Column(db.Integer, db.ForeignKey('designers.designerid'))
|
|
designer = db.relationship('Designer', backref='products')
|
|
|
|
|
|
class Currencies(db.Model):
|
|
|
|
__tablename__ = 'product-currencies'
|
|
|
|
iso3char = db.Column(db.String(3), primary_key=True)
|
|
exchange_rate = db.Column(db.Numeric, default=1)
|
|
|
|
|
|
class MaterialQuery(BaseQuery):
|
|
|
|
def wallpapers(self):
|
|
return self.filter(Material.name.in_(Material.WALLPAPER_MATERIALS))
|
|
|
|
def canvas(self):
|
|
return self.filter(Material.name.in_(Material.CANVAS_MATERIALS))
|
|
|
|
|
|
class Material(db.Model):
|
|
|
|
__tablename__ = 'product-materials'
|
|
|
|
query_class = MaterialQuery
|
|
|
|
WALLPAPER_MATERIALS = ['standard-wallpaper',
|
|
# 'self-adhesive-wallpaper', // isn't sold now
|
|
'premium-wallpaper']
|
|
CANVAS_MATERIALS = ['standard-canvas']
|
|
|
|
id = db.Column('materialid', db.Integer, primary_key=True)
|
|
name = db.Column('material', db.String(255), nullable=False)
|
|
price = db.Column('price', db.Integer)
|
|
|
|
|
|
def to_json(self):
|
|
return {
|
|
'id': self.id,
|
|
'name': self.name,
|
|
'price': float(self.price)
|
|
}
|
|
|
|
def __repr__(self):
|
|
return self.name |