from django.db import models
class Customer(models.Model):
"""
客户表
"""
name = models.CharField('姓名', max_length=32, blank=True, null=True, help_text='学员报名后,请改为真实姓名')
phone = models.BigIntegerField('手机号', blank=True, null=True)
qq = models.CharField('QQ', max_length=64, unique=True, help_text='QQ号必须唯一')
qq_name = models.CharField('微信', max_length=64, blank=True, null=True)
company= models.CharField('公司', max_length=64, blank=True, null=True)
branch= models.CharField('部门', max_length=64, blank=True, null=True)
position = models.CharField('职位', max_length=64, blank=True, null=True)
urban = models.CharField('城市', max_length=64, blank=True, null=True)
address = models.CharField('地址', max_length=64, blank=True, null=True)
hometown= models.CharField('祖籍', max_length=64, blank=True, null=True)
sex_type = (('male', '男'), ('female', '女'))
sex = models.CharField("性别", choices=sex_type, max_length=16, default='male', blank=True, null=True)
birthday = models.DateField('出生日期', default=None, help_text="格式yyyy-mm-dd", blank=True, null=True)
source = models.CharField('客户来源', max_length=64, choices=source_type, default='qq')
introduce_from = models.ForeignKey('Customer', verbose_name="介绍人", blank=True, null=True,
on_delete=models.CASCADE)
class_type = models.CharField("关系程度", max_length=64, choices=class_type_choices, default='fulltime')
customer_note = models.TextField("客户备注", blank=True, null=True, )
status = models.CharField("机构类型", choices=enroll_status_choices, max_length=64, default="unregistered",
help_text="选择客户此时的状态")
date = models.DateTimeField("咨询日期", auto_now_add=True)
last_consult_date = models.DateField("最后跟进日期", auto_now_add=True)
deal_date = models.DateTimeField(auto_now_add=True,verbose_name="创建时间")
#today = models.DateTimeField("今日日期",default=timezone.now,blank=True, null=True)
consultant = models.ForeignKey('UserInfo', verbose_name="销售", related_name='customers', blank=True, null=True,
on_delete=models.CASCADE, limit_choices_to={"depart_id": 1})
class_list = models.CharField("业务类型", choices=range_choices, max_length=64, default="unregistered")
def __str__(self):
return str(self.name)
def get_classlist(self):
l = []
for cls in self.class_list.all():
l.append(str(cls))
return mark_safe("<br>".join(l))
def get_status(self):
status_color = {
"studying": "green",
"signed": "#B03060",
"unregistered": "red",
"paid_in_full": "blue"
}
return mark_safe(
"<span style='background-color:%s;color:white;padding:4px;display:inline-block;width:90px'>%s</span>" % (
status_color[self.status], self.get_status_display()))
class Meta:
verbose_name = '客户列表'
verbose_name_plural = '客户列表'
class ConsultRecord(models.Model):
"""
跟进记录表
"""
customer = models.ForeignKey(Customer, verbose_name="跟进的客户",blank=True, null=True,related_name='Customer.objects.all()',
on_delete=models.CASCADE)

note = models.TextField(verbose_name="跟进内容...")
status = models.CharField("跟进状态", max_length=8, choices=seek_status_choices, help_text="选择客户此时的状态")
consultant = models.ForeignKey("UserInfo", verbose_name="跟进人", related_name='records', on_delete=models.CASCADE)
date = models.DateTimeField("跟进日期", auto_now_add=True)
delete_status = models.BooleanField(verbose_name='删除状态', default=False)
def __str__(self):
return str(self.customer) + str(self.consultant)
class Meta:
verbose_name = "跟进记录表"
verbose_name_plural = "跟进记录表"