diff options
author | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2010-09-28 18:54:27 -0400 |
---|---|---|
committer | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2010-09-28 18:54:27 -0400 |
commit | 0a8ca2a20d740e9decd95708c89d87184b1d91eb (patch) | |
tree | 364fa9d1f747378265b3b09a85abac05ee5c2672 | |
parent | f472928bed29b8952d75b6b73c53033dda00d4d7 (diff) | |
download | askbot-0a8ca2a20d740e9decd95708c89d87184b1d91eb.tar.gz askbot-0a8ca2a20d740e9decd95708c89d87184b1d91eb.tar.bz2 askbot-0a8ca2a20d740e9decd95708c89d87184b1d91eb.zip |
bug in generic openid login and a query speedup
-rw-r--r-- | askbot/deps/django_authopenid/backends.py | 17 | ||||
-rw-r--r-- | askbot/models/question.py | 8 |
2 files changed, 15 insertions, 10 deletions
diff --git a/askbot/deps/django_authopenid/backends.py b/askbot/deps/django_authopenid/backends.py index 664307d4..554afda5 100644 --- a/askbot/deps/django_authopenid/backends.py +++ b/askbot/deps/django_authopenid/backends.py @@ -68,16 +68,13 @@ class AuthBackend(object): elif method == 'openid': provider_name = util.get_provider_name(openid_url) - if login_providers[provider_name]['type'].startswith('openid'): - try: - assoc = UserAssociation.objects.get( - openid_url = openid_url, - provider_name = provider_name - ) - user = assoc.user - except UserAssociation.DoesNotExist: - return None - else: + try: + assoc = UserAssociation.objects.get( + openid_url = openid_url, + provider_name = provider_name + ) + user = assoc.user + except UserAssociation.DoesNotExist: return None elif method == 'email': diff --git a/askbot/models/question.py b/askbot/models/question.py index c450eed9..7d532dec 100644 --- a/askbot/models/question.py +++ b/askbot/models/question.py @@ -180,6 +180,14 @@ class QuestionManager(models.Manager): #relevance will be ignored here qs = qs.order_by(orderby) qs = qs.distinct() + qs = qs.select_related( + 'last_activity_by__id', + 'last_activity_by__username', + 'last_activity_by__reputation', + 'last_activity_by__gold', + 'last_activity_by__silver', + 'last_activity_by__bronze' + ) return qs, meta_data #todo: this function is similar to get_response_receivers |