You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

24 lines
1.1 KiB

# -*- coding: utf-8 -*-
from django.db import models
class BaseModelManager(models.Manager):
def get_all(self, user):
"""Возвращает все документы данного типа заданного пользователя."""
return self.filter(user=user)
def get_last_doc_num(self, user):
"""Возвращает номер самого последнего сохраненного юзером документа данного типа,
или None, если таких документов еще нет."""
try:
return self.filter(user=user).order_by('-created_at')[0].doc_num
except IndexError:
return None
def get_max_doc_num(self, user):
"""Возвращает максимальный номер когда-либо сохраненного юзером документа данного типа,
или None, если таких документов еще нет."""
try:
return self.filter(user=user).order_by('-doc_num')[0].doc_num
except IndexError:
return None