models.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # coding=utf-8
  2. from django.db import models
  3. from utils.exceptions import CustomError
  4. from apps.images.models import Images
  5. from apps.vehicle.models import Brand
  6. class Shop(models.Model):
  7. name = models.CharField(max_length=100, verbose_name=u"名称")
  8. addr = models.CharField(max_length=1000, verbose_name=u'地址')
  9. tel = models.CharField(max_length=50, verbose_name=u'电话')
  10. longitude = models.FloatField(verbose_name=u"经度", null=True)
  11. latitude = models.FloatField(verbose_name=u"纬度", null=True)
  12. img = models.ForeignKey(Images, verbose_name=u'图片', on_delete=models.PROTECT, null=True)
  13. sort = models.PositiveSmallIntegerField(verbose_name=u'排序', help_text=u'越小越靠前', default=0)
  14. enabled = models.BooleanField(verbose_name=u"在用", default=True)
  15. is_xgj = models.BooleanField(verbose_name=u'销管佳公司', default=False, editable=False)
  16. xgj_id = models.IntegerField(verbose_name=u'销管佳id', null=True)
  17. delete = models.BooleanField(verbose_name=u'删除', default=False, editable=False)
  18. class Meta:
  19. db_table = "shop"
  20. verbose_name = u"门店管理"
  21. ordering = ['sort', '-id']
  22. index_together = (
  23. 'name',
  24. 'tel',
  25. )
  26. default_permissions = ()
  27. @staticmethod
  28. def getById(id):
  29. try:
  30. id = int(id)
  31. except:
  32. raise CustomError(u'无效的门店ID')
  33. instance = Shop.objects.filter(pk=id).first()
  34. if not instance:
  35. raise CustomError(u'未找到相应的门店信息')
  36. return instance
  37. class StoreBrand(models.Model):
  38. store = models.ForeignKey(Shop, verbose_name=u'门店', on_delete=models.PROTECT)
  39. brand = models.ForeignKey(Brand, verbose_name=u'品牌', on_delete=models.PROTECT)
  40. class Meta:
  41. db_table = 'store_brand'
  42. verbose_name = u'门店品牌'
  43. ordering = ('-id',)
  44. default_permissions = ()