pythontr.com
Bazen ihtiyaç durumunda saf gelen datanın model üzerinden filtrelenmesini isteyebilirsiniz, bunun birçok yöntemi bulunmaktadır, ben en çok kullanılan yöntemlerden biri olan Manager üzerinden bunu nasıl yapabiliriz bunu örneklemeye çalışacağım.
class PageManager(models.Manager): def get_queryset(self): return super(PageManager, self).get_queryset().filter(pk__in=[1,4,7]) ....... class Page(models.Model): ....... objects = PageManager()
class PageQuerySet(TranslationQueryset): def actives(self): return self.filter(pk__in=[10000,10001,10002]) def translate(self, language_code=settings.LANGUAGE_CODE): return self.language(language_code) class PageManager(TranslationManager): def get_queryset(self): return DestinationQuerySet(self.model, using=self._db).fallbacks() def actives(self): return self.get_queryset().actives() def translate(self, language_code=settings.LANGUAGE_CODE): return self.get_queryset().translate(language_code) class Page(TranslatableModel): ....... objects = PageManager()
Yorumlar