flask-base/flatpages/models.py
2018-03-31 18:26:40 +02:00

23 lines
751 B
Python

from flaskbase.extensions import db
from datetime import datetime
from sqlalchemy.orm import foreign, remote
class Page(db.Model):
__tablename__ = 'pages'
id = db.Column(db.Integer, primary_key=True)
slug = db.Column(db.String(64), unique=True)
title = db.Column(db.String(256))
content = db.Column(db.Text)
created = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
updated = db.Column(db.DateTime, default=datetime.utcnow, nullable=False,
onupdate=datetime.utcnow)
subpages = db.relationship(
'Page', primaryjoin=remote(foreign(slug)).like(slug.concat('/%')),
viewonly=True)
def __repr__(self):
return '<Page {0.slug} "{0.title}">'.format(self)