X-Git-Url: http://git.veekun.com/zzz-spline-forum.git/blobdiff_plain/53a1b80b0d77912434513cd878f71c2520fbc0a4..f36a20d6fd1cb45ef493211c3699c77b68f81ab8:/splinext/forum/model/__init__.py diff --git a/splinext/forum/model/__init__.py b/splinext/forum/model/__init__.py index 6dc6bfd..64cfda5 100644 --- a/splinext/forum/model/__init__.py +++ b/splinext/forum/model/__init__.py @@ -80,11 +80,11 @@ Index('thread_position', Post.thread_id, Post.position, unique=True) # XXX sort by time, how? -Forum.threads = relation(Thread, order_by=Thread.id.desc(), lazy='dynamic', backref='forum') +Forum.threads = relation(Thread, lazy='dynamic', backref='forum') Thread.posts = relation(Post, order_by=Post.position.asc(), lazy='dynamic', backref='thread') -Thread.first_post = relation(Post, primaryjoin=and_(Post.thread_id == Thread.id, Post.position == 1), uselist=False) +Thread.first_post = relation(Post, primaryjoin=and_(Post.thread_id == Thread.id, Post.position == 1), foreign_keys=[Post.thread_id], innerjoin=True, uselist=False, viewonly=True) # XXX THIS WILL NEED TO CHANGE when posts can be deleted! Or change what 'position' means -Thread.last_post = relation(Post, primaryjoin=and_(Post.thread_id == Thread.id, Post.position == Thread.post_count), uselist=False) +Thread.last_post = relation(Post, primaryjoin=and_(Post.thread_id == Thread.id, Post.position == Thread.post_count), foreign_keys=[Post.thread_id], innerjoin=True, uselist=False, viewonly=True) -Post.author = relation(users_model.User, backref='posts') +Post.author = relation(users_model.User, backref='posts', innerjoin=True)