SQL Model: Add relationship properties
authorElrond <elrond+mediagoblin.org@samba-tng.org>
Sat, 24 Dec 2011 15:00:05 +0000 (16:00 +0100)
committerElrond <elrond+mediagoblin.org@samba-tng.org>
Wed, 28 Dec 2011 21:58:44 +0000 (22:58 +0100)
MediaEntry now has a get_uploader (property) loading the
appropiate User object for the MediaEntry (and caches it).
MediaComment has the same for author as get_author.

mediagoblin/db/sql/models.py

index 268f57159cb59ae798e4a11687846e49603056ef..31a6ed3b3962c5b1812bff6fec1b7608ae4c6123 100644 (file)
@@ -4,6 +4,7 @@ from sqlalchemy.ext.declarative import declarative_base
 from sqlalchemy import (
     Column, Integer, Unicode, UnicodeText, DateTime, Boolean, ForeignKey,
     UniqueConstraint)
+from sqlalchemy.orm import relationship
 
 from mediagoblin.db.sql.base import GMGTableBase
 
@@ -71,6 +72,8 @@ class MediaEntry(Base):
         UniqueConstraint('uploader', 'slug'),
         {})
 
+    get_uploader = relationship(User)
+
     ## TODO
     # media_files
     # media_data
@@ -112,6 +115,8 @@ class MediaComment(Base):
     content = Column(UnicodeText, nullable=False)
     content_html = Column(UnicodeText)
 
+    get_author = relationship(User)
+
 
 def show_table_init():
     from sqlalchemy import create_engine