blog/webapp/models/_blog_post.py

33 lines
1.3 KiB
Python
Raw Normal View History

2020-08-11 13:17:53 +02:00
from oshipka.persistance import db, ModelController, index_service, LiberalBoolean, Ownable
2020-07-08 14:36:13 +02:00
2021-05-01 16:19:02 +02:00
blog_post__tag = db.Table('blog_post__tag',
db.Column('blog_post_id', db.Integer(), db.ForeignKey('blog_post.id')),
db.Column('tag_id', db.Integer(), db.ForeignKey('tag.id')),
)
2020-07-08 14:36:13 +02:00
2020-08-11 13:17:53 +02:00
class BlogPost(db.Model, ModelController, Ownable):
2020-07-08 14:36:13 +02:00
__searchable__ = ['body', ]
2021-05-15 01:04:17 +02:00
_file_columns = []
model_acls = {'get': {'authn': False, 'authz': []}, 'list': {'authn': False, 'authz': []}, 'table': {'authn': False, 'authz': []}, 'search': {
'authn': False, 'authz': []}, 'create': {'authn': True, 'authz': ['admin']}, 'update': {'authn': True, 'authz': ['admin']}, 'delete': {'authn': True, 'authz': ['admin']}}
2020-07-08 14:36:13 +02:00
filename = db.Column(db.UnicodeText,)
2020-07-13 11:54:16 +02:00
title = db.Column(db.UnicodeText,)
2020-07-08 14:36:13 +02:00
body = db.Column(db.UnicodeText,)
2021-05-01 16:19:02 +02:00
tags = db.relationship('Tag', secondary=blog_post__tag,
backref=db.backref("blog_posts"),
)
_m_n_table_tags = 'Tag'
2020-08-11 13:17:53 +02:00
created_dt = db.Column(db.UnicodeText,)
updated_dt = db.Column(db.UnicodeText,)
2020-07-08 14:36:13 +02:00
2021-02-25 11:44:30 +01:00
def __repr__(self):
return "{} ({})".format(self.title, self.created_dt)
2020-07-08 14:36:13 +02:00
index_service.searchables.append(BlogPost)