Джанго-qmethod е Django приложение за лесно определянето на операциите на колекции от модели Django (това е, QuerySets и мениджъри).
Един ден, надявам се, нещо като това е включено в Django ядро.
<Силен> Usage
Основни положения е, както следва:
внос cPickle като краставичка
от django.db модели внос
от djqmethod мениджър внос, querymethod
клас Group (models.Model):
& Nbsp; пас
клас Person (models.Model):
& Nbsp;. Пола = Dict (m = "Мъже", F = "Жена", ф = "неопределен") елементи ()
& Nbsp; група = models.ForeignKey (Group, related_name = "хора")
& Nbsp; пола = models.CharField (MAX_LENGTH = 1 събития, избор = пола)
& Nbsp; възраст = models.PositiveIntegerField ()
& Nbsp; # Забележка: трябва да се създаде изрична мениджър тук.
& Nbsp; обекти = Manager ()
& Nbsp;querymethod
& Nbsp; Def непълнолетни лица (заявки):
& Nbsp; връщане query.filter (age__lt = 18)
& Nbsp;querymethod
& Nbsp; Def възрастни (заявки):
& Nbsp; връщане query.filter (age__gte = 18)
# На `малолетните ()` и `възрастни ()` методи ще бъдат на разположение на управителя:
отстояват isinstance (Person.objects.minors (), models.query.QuerySet)
# Те ще бъдат на разположение на следващите querysets:
отстояват isinstance (Person.objects.filter (пол = "m"). непълнолетни лица (),
& Nbsp; models.query.QuerySet)
# Те също ще бъде на разположение на отношенията, ако те се смесват в ДО
# По подразбиране за управление за този модел:
група = Group.objects.all () [0]
отстояват isinstance (group.people.minors (), models.query.QuerySet)
# На QuerySets произведени са напълно туршия-безопасно:
отстояват isinstance (pickle.loads (pickle.dumps (Person.objects.minors ())),
& Nbsp; models.query.QuerySet)
Тест проект се намира в тест / например /; консултирайте това за по-всеобхватен например.
<Силен> Монтаж
PIP инсталирате Джанго-qmethod
<силни> Изисквания :
- Python
- Django
Коментари не е намерена