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