Mercurial > kallithea
diff rhodecode/model/scm.py @ 1033:e2ebbb27df4e beta
fixed problem with caching
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sat, 12 Feb 2011 16:06:12 +0100 |
parents | f42ee60e673b |
children | 5554aa9c2480 |
line wrap: on
line diff
--- a/rhodecode/model/scm.py Sat Feb 12 13:56:28 2011 +0100 +++ b/rhodecode/model/scm.py Sat Feb 12 16:06:12 2011 +0100 @@ -209,11 +209,21 @@ .filter(Repository.repo_name == repo_name)\ .scalar() + self.sa.expunge_all() + log.debug('making transient %s', dbrepo) make_transient(dbrepo) - if dbrepo.user: - make_transient(dbrepo.user) - if dbrepo.fork: - make_transient(dbrepo.fork) + + for attr in ['user', 'forks', 'followers', 'group', 'repo_to_perm', + 'users_group_to_perm', 'stats', 'logs']: + attr = getattr(dbrepo, attr, False) + if attr: + if isinstance(attr, list): + for a in attr: + log.debug('making transient %s', a) + make_transient(a) + else: + log.debug('making transient %s', attr) + make_transient(attr) repo.dbrepo = dbrepo return repo