models Module

Виртуальная модель и proxy-обертка для работы с группой моделей

class objectpack.models.ModelProxy(obj=None)
Базовые классы: object

Proxy-объект инкапсулирующий в себе несколько моделей (для случая, когда одна модель - основная, о другие - её поля)

model = None
relations = None
safe_delete()
save()
class objectpack.models.ModelProxyMeta
Базовые классы: type

Метакласс для ModelProxy

class objectpack.models.VirtualModel
Базовые классы: object

Виртуальная модель, реализующая Django-ORM-совместимый API, для работы с произвольными данными.

Пример модели: >>> M = VirtualModel.from_data( ... lambda: ( ... {‘x’: x, ‘y’: y * 10} ... for x in xrange(5) ... for y in xrange(5) ... ), ... auto_ids=True ... )

Теперь с моделью можно работать так: >>> M.objects.count() 25 >>> M.objects.filter(x__gte=2).exclude(y__in=[10, 20, 30]).count() 6 >>> list(M.objects.filter(x=0).order_by(“-y”).values_list(“y”, flat=True)) [40, 30, 20, 10, 0]

exception DoesNotExist
Базовые классы: exceptions.Exception
exception VirtualModel.MultipleObjectsReturned
Базовые классы: exceptions.Exception
classmethod VirtualModel.from_data(data, auto_ids=False, class_name='NewVirtualModel')

Возвращает субкласс, основанный на переданных данных @data - iterable из словарей @auto_ids - если True, поле id объектов модели

будет генерироваться автоматически

@class_name - имя класса-потомка

VirtualModel.objects

Имитация QueryManager`а Django для VirtualModel

class objectpack.models.VirtualModelManager(model_clz=None, procs=None, **kwargs)
Базовые классы: object

Имитация QueryManager`а Django для VirtualModel

all()
configure(**kwargs)
count()
exclude(*args, **kwargs)
filter(*args, **kwargs)
get(*args, **kwargs)
order_by(*args)
values(*args)
values_list(*args, **kwargs)
objectpack.models.kwargs_only(*keys)
objectpack.models.model_proxy_metaclass

псевдоним класса ModelProxyMeta

0