Some small SQL model improvements

- Add default for User.email_verified
- Add default for MediaEntry.state
- Let PathTupleWithSlashes store [] as "NULL",
  but not handling the reverse properly yet!
- Add _id alias field to MediaEntry and MediaComment
This commit is contained in:
Elrond 2012-01-28 00:33:23 +01:00
parent 8a9aa07583
commit 51fba99125
2 changed files with 11 additions and 4 deletions

View File

@ -25,8 +25,10 @@ class PathTupleWithSlashes(TypeDecorator):
def process_bind_param(self, value, dialect):
if value is not None:
assert len(value), "Does not support empty lists"
value = '/'.join(value)
if len(value) == 0:
value = None
else:
value = '/'.join(value)
return value
def process_result_value(self, value, dialect):

View File

@ -50,7 +50,7 @@ class User(Base, UserMixin):
email = Column(Unicode, nullable=False)
created = Column(DateTime, nullable=False, default=datetime.datetime.now)
pw_hash = Column(Unicode, nullable=False)
email_verified = Column(Boolean)
email_verified = Column(Boolean, default=False)
status = Column(Unicode, default=u"needs_email_verification", nullable=False)
verification_key = Column(Unicode)
is_admin = Column(Boolean, default=False, nullable=False)
@ -77,7 +77,8 @@ class MediaEntry(Base, MediaEntryMixin):
description = Column(UnicodeText) # ??
description_html = Column(UnicodeText) # ??
media_type = Column(Unicode, nullable=False)
state = Column(Unicode, nullable=False) # or use sqlalchemy.types.Enum?
state = Column(Unicode, default=u'unprocessed', nullable=False)
# or use sqlalchemy.types.Enum?
license = Column(Unicode)
fail_error = Column(Unicode)
@ -113,6 +114,8 @@ class MediaEntry(Base, MediaEntryMixin):
# attachment_files
# fail_error
_id = SimpleFieldAlias("id")
def get_comments(self, ascending=False):
order_col = MediaComment.created
if not ascending:
@ -215,6 +218,8 @@ class MediaComment(Base):
get_author = relationship(User)
_id = SimpleFieldAlias("id")
def show_table_init():
from sqlalchemy import create_engine