models.py 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. # coding=utf-8
  2. from django.db import models
  3. from django.conf import settings
  4. from utils.exceptions import CustomError
  5. from apps.option.models import Option
  6. from apps.agent.models import Store
  7. class ReportCustomer(models.Model):
  8. NOT_CHECKED = 0
  9. CHECKED = 1
  10. REPEAT_REPORT = 2
  11. STATUS_CHOICES = (
  12. (NOT_CHECKED, '待审核'),
  13. (CHECKED, '已分配'),
  14. (REPEAT_REPORT, '重复报备')
  15. )
  16. name = models.CharField(max_length=20, verbose_name=u"姓名")
  17. tel = models.CharField(max_length=15, verbose_name=u'电话')
  18. gender = models.PositiveSmallIntegerField(choices=settings.GENDER_CHOICES, verbose_name=u'性别',
  19. default=settings.MALE)
  20. village = models.CharField(max_length=200, verbose_name=u'小区')
  21. address = models.CharField(max_length=200, verbose_name=u'地址')
  22. source = models.ForeignKey(Option, verbose_name=u'来源', related_name='report_customer_source', on_delete=models.PROTECT)
  23. project = models.ManyToManyField(Option, verbose_name=u'项目', related_name='report_customer_category', editable=False,
  24. null=True,blank=True)
  25. notes = models.CharField(max_length=500, verbose_name=u"备注", null=True)
  26. report_status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, verbose_name=u'报备状态', default=NOT_CHECKED)
  27. check_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u'审核人', related_name='report_customer_check_user',
  28. on_delete=models.PROTECT, null=True)
  29. check_time = models.DateTimeField(verbose_name=u'审核时间', null=True)
  30. create_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u'添加人', related_name='report_customer_create_user',
  31. editable=False, on_delete=models.PROTECT)
  32. create_time = models.DateTimeField(verbose_name=u'添加时间', auto_now_add=True, editable=False)
  33. store = models.ForeignKey(Store, verbose_name=u'门店', related_name='report_customer_store',
  34. editable=False, on_delete=models.PROTECT)
  35. class Meta:
  36. db_table = 'report_customer'
  37. verbose_name = u'客户报备'
  38. ordering = ['-id']
  39. default_permissions = ()
  40. permissions = [
  41. ('view_report_customer', u'查看'),
  42. ('add_report_customer', u'添加'),
  43. ('delete_report_customer', u'删除'),
  44. ('check_report_customer', u'审核'),
  45. ]
  46. class NewCustomer(models.Model):
  47. report_customer = models.ForeignKey(ReportCustomer, verbose_name=u'报备客户信息', related_name='customer_source',
  48. on_delete=models.PROTECT)
  49. potential_level = models.ForeignKey(Option, verbose_name=u'潜客级别', related_name='potential_level',
  50. on_delete=models.PROTECT)
  51. stage_progress = models.ForeignKey(Option, verbose_name=u'阶段进度', related_name='stage_progress',
  52. on_delete=models.PROTECT)
  53. track_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u'跟踪人', related_name='track_user',
  54. editable=False, on_delete=models.PROTECT)
  55. end_time = models.DateTimeField(verbose_name=u'最后跟踪时间', null=True)
  56. next_time = models.DateTimeField(verbose_name=u'下次跟踪时间', null=True)
  57. create_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u'建档人', related_name='newcustomer_create_user',
  58. editable=False, on_delete=models.PROTECT)
  59. create_time = models.DateTimeField(verbose_name=u'建档时间', auto_now_add=True, editable=False)
  60. class Meta:
  61. db_table = 'new_customer'
  62. verbose_name = u'客户跟踪信息'
  63. ordering = ['-id']
  64. default_permissions = ()
  65. permissions = [
  66. ('view_new_customer', u'查看'),
  67. ('update_new_customer', u'更新'),
  68. ('delete_new_customer', u'删除'),
  69. ]