X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/80e81e8ba3e132d6b51a0bb4c794d8f2c1f600d9..b6f6103a8b578d13047219ef3812cea09001eea2:/forum/models/meta.py diff --git a/forum/models/meta.py b/forum/models/meta.py index 3fd0680..fca763f 100644 --- a/forum/models/meta.py +++ b/forum/models/meta.py @@ -24,21 +24,26 @@ class Flag(models.Model): app_label = 'forum' unique_together = ('user', 'node') -class BadgeManager(models.Manager): - use_for_related_fields = True - +class BadgesQuerySet(models.query.QuerySet): def get(self, *args, **kwargs): try: pk = [v for (k,v) in kwargs.items() if k in ('pk', 'pk__exact', 'id', 'id__exact')][0] except: - return super(BadgeManager, self).get(*args, **kwargs) + return super(BadgesQuerySet, self).get(*args, **kwargs) from forum.badges.base import BadgesMeta badge = BadgesMeta.by_id.get(int(pk), None) if not badge: - return super(BadgeManager, self).get(*args, **kwargs) + return super(BadgesQuerySet, self).get(*args, **kwargs) return badge.ondb + +class BadgeManager(models.Manager): + use_for_related_fields = True + + def get_query_set(self): + return BadgesQuerySet(self.model) + class Badge(models.Model): GOLD = 1 SILVER = 2