django-qmethod (yani, QuerySets ve Yöneticileri) kolayca Django modelleri koleksiyonları işlemleri tanımlamak için Django uygulaması.
Bir gün, ben böyle bir şey Django çekirdek dahil umuyoruz.
Kullanım
Aşağıdaki gibi temel kullanım şöyledir:
turşu gibi ithalat cPickle
django.db ithalat modelleri
djqmethod ithalat Müdürü, querymethod gelen
sınıf Grubu (models.Model):
& Nbsp; geçiş
Sınıf Kişi (models.Model):
& Nbsp;. Cinsiyetler = dict (= 'Kadın' f m = 'Erkek', u = 'Belirlenemeyen') öğeleri ()
& Nbsp; grup = models.ForeignKey (Grup, related_name = 'insan')
& Nbsp; cinsiyet = models.CharField (max_length = 1, seçimler = cinsiyetlerin)
& Nbsp; yaş = models.PositiveIntegerField ()
& Nbsp; # Not: Burada açık bir yöneticisi oluşturmanız gerekir.
& Nbsp; nesneler = Yöneticisi ()
& Nbsp;querymethod
& Nbsp; def küçüklerin (sorgu):
& Nbsp; dönüş query.filter (age__lt = 18)
& Nbsp;querymethod
& Nbsp; def yetişkin (sorgu):
& Nbsp; dönüş query.filter (age__gte = 18)
# `Küçüklerin ()` `ve yetişkinler ()` yöntemleri yöneticisi mevcut olacaktır:
isinstance assert () (Person.objects.minors models.query.QuerySet)
# Onlar sonraki querysets mevcut olacak:
isinstance (Person.objects.filter (cinsiyet = 'm') assert. küçükleri (),
& Nbsp; models.query.QuerySet)
Onlar karışık olsaydı # Onlar da, ilişkiler mevcut olacak
Bu model için # varsayılan yöneticisi:
grup = Group.objects.all () [0]
isinstance assert () (group.people.minors models.query.QuerySet)
# Üretilen QuerySets tamamen turşu-güvenli:
(isinstance (pickle.loads (pickle.dumps iddia Person.objects.minors ())),
& Nbsp; models.query.QuerySet)
Bir test projesi test / örnekte bulunan /; daha kapsamlı bir örnek için bu danışın.
Kurulum
Django-qmethod yüklemek pip
Gereksinimler :
- Python
- Django
Yorum Bulunamadı