diff --git a/facts/models.py b/facts/models.py index 5a70e21..63b1225 100644 --- a/facts/models.py +++ b/facts/models.py @@ -23,18 +23,9 @@ class FactCategory(models.Model): """String representation.""" return "{0:s}".format(self.name) - -class FactManager(models.Manager): - """Queries against Fact.""" - - def random_fact(self, category, regex=None): - """Get a random fact from the database.""" - try: - fact_category = FactCategory.objects.get(name=category) - except FactCategory.DoesNotExist: - return None - - facts = Fact.objects.filter(category=fact_category) + def random_fact(self, regex=None): + """Get a random fact in this category.""" + facts = self.fact_set.all() if regex: facts = facts.filter(fact__iregex=regex) @@ -44,6 +35,19 @@ class FactManager(models.Manager): return None +class FactManager(models.Manager): + """Queries against Fact.""" + + def random_fact(self, category, regex=None): + """Get a random fact from the database.""" + try: + factcategory = FactCategory.objects.get(name=category) + except FactCategory.DoesNotExist: + return None + + return factcategory.random_fact(regex) + + class Fact(models.Model): """Define facts."""