makaleler / Python Programlama / Django, Model üzerinden datayı filtreleme

Django, Model üzerinden datayı filtreleme

24.09.2019 16:43:26

Django kullanarak model üzerinden dataların filtrelenme işleminin yapılması.

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()


TranslationManager kullanımı oldukça yaygın onun içinde aşağıdaki şekilde kullanım yapabilirsiniz.
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()
yazar husonet

Yorumlar

Bu içerik için sizde yorum yapabilirsiniz!
anasayfa | makaleler | haberler | dosyalar | linkler | hakkımızda