models.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # coding=utf-8
  2. from django.db import models
  3. from django.conf import settings
  4. from django.db.models import Q
  5. from utils.exceptions import CustomError
  6. class Tenant(models.Model):
  7. name = models.CharField(max_length=200, verbose_name=u'名称')
  8. create_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u"创建人", on_delete=models.PROTECT,
  9. editable=False)
  10. create_time = models.DateTimeField(verbose_name=u'创建时间', auto_now_add=True, editable=False)
  11. is_bind_app = models.BooleanField(verbose_name=u'是否绑定小程序', default=False, editable=False)
  12. delete = models.BooleanField(verbose_name=u'删除', default=False, editable=False)
  13. class Meta:
  14. db_table = 'tenant'
  15. ordering = ['-id']
  16. verbose_name = '租户'
  17. default_permissions = ()
  18. @staticmethod
  19. def is_exist(name, exclude_id=None):
  20. rows = Tenant.objects.filter(delete=False, name=name)
  21. if exclude_id:
  22. rows = rows.filter(~Q(id=exclude_id))
  23. return rows.count()
  24. @staticmethod
  25. def getById(id):
  26. try:
  27. id = int(id)
  28. except:
  29. raise CustomError(u'无效的商户id!')
  30. tenant = Tenant.objects.filter(id=id,delete=False).first()
  31. if not tenant:
  32. raise CustomError(u'未找到相应的商户信息!')
  33. return tenant