日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python crm_Python CRM项目一

發布時間:2025/3/15 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python crm_Python CRM项目一 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 from django.db importmodels2 from django.contrib.auth.models importUser3 #Create your models here.

4 classCustomer(models.Model):5 '''客戶信息表'''

6 name = models.CharField(max_length=32,null=True,blank=True)7 qq = models.CharField(max_length=64,unique=True)8 qq_name = models.CharField(max_length=64,null=True,blank=True)9 phone = models.CharField(max_length=64,null=True,blank=True)10 source_choices = ((0,'轉介紹'),(1,'QQ群'),(2,'官網'),(3,'百度推廣'),(4,'51cto'),(5,'知乎推薦'),(6,'市場推廣'))11 source = models.SmallIntegerField(choices=source_choices)12 referral_from = models.CharField(verbose_name='轉介紹人QQ',max_length=64,null=True,blank=True)13 consult_course = models.ForeignKey('Course',verbose_name='咨詢課程')14 content = models.TextField(verbose_name='咨詢詳情')15 consultant = models.ForeignKey('UserProfile',verbose_name='銷售')16 tags = models.ManyToManyField('Tag',blank=True,null=True);17 memo = models.TextField(blank=True,null=True)18 status_choice = (('signed','已報名'),('unregistered','未報名'))19 status = models.CharField(max_length=64,choices=status_choice,default='unregistered',verbose_name='客戶狀態')20 date = models.DateTimeField(auto_now_add=True)21

22 classMeta:23 verbose_name_plural = '客戶'

24

25 def __str__(self):26 returnself.name27

28 classCustomerFollowUp(models.Model):29 '''客戶跟進表'''

30 customer = models.ForeignKey('Customer')31 content = models.TextField(verbose_name='跟進內容')32 consultant = models.ForeignKey('UserProfile')33 intention_choices = ((0,'2周內報名'),(1,'1個月報名'),(2,'近期無報名計劃'),(3,'已在其他機構報名'),(4,'已報名'),(5,'已拉黑'))34 intention = models.SmallIntegerField(choices=intention_choices)35 date = models.DateTimeField(auto_now_add=True)36

37 def __str__(self):38 return '%s %s' %(self.customer.qq, self.intention)39

40 classMeta:41 verbose_name_plural = '客戶跟進記錄'

42

43 classCourse(models.Model):44 '''課程表'''

45 name = models.CharField(max_length=128,unique=True)46 price =models.PositiveSmallIntegerField()47 period = models.PositiveSmallIntegerField(verbose_name='周期(月)')48 outline =models.TextField()49

50 def __str__(self):51 returnself.name52

53 classMeta:54 verbose_name_plural = '課程'

55

56 classBranch(models.Model):57 '''校區表'''

58 name = models.CharField(max_length=128,unique=True)59 addr = models.CharField(max_length=512)60

61 def __str__(self):62 returnself.name63

64 classMeta:65 verbose_name_plural = '校區'

66

67 classClassList(models.Model):68 '''班級表'''

69 branch = models.ForeignKey('Branch',verbose_name='分校')70 course = models.ForeignKey('Course')71 semester = models.PositiveSmallIntegerField(verbose_name='學期')72 teachers = models.ManyToManyField('UserProfile')73 class_type_choice = ((0,'面授班(脫產)'),(1,'面授班(周末)'),(2,'網絡班'))74 class_type = models.SmallIntegerField(choices=class_type_choice)75 start_date = models.DateField(verbose_name='開班日期')76 end_date = models.DateField(verbose_name='結業日期',blank=True,null=True)77

78 def __str__(self):79 return '%s %s %s' %(self.branch, self.course, self.semester)80

81 classMeta:82 unique_together = ('branch', 'course', 'semester')83 verbose_name_plural = '班級'

84

85

86

87 classCourseRecord(models.Model):88 '''上課記錄表'''

89 from_class = models.ForeignKey('ClassList',verbose_name='班級')90 day_num = models.PositiveSmallIntegerField(verbose_name='第幾節(天)')91 teacher = models.ForeignKey('UserProfile')92 has_homework = models.BooleanField(default=True)93 homework_title = models.CharField(max_length=256,blank=True,null=True)94 homework_content = models.TextField(blank=True,null=True)95 outline = models.TextField(verbose_name='本節課大綱')96 date = models.DateTimeField(auto_now_add=True)97

98 def __str__(self):99 return '%s %s' %(self.from_class, self.day_num)100

101 classMeta:102 unique_together = ('from_class', 'day_num')103 verbose_name_plural = '上課記錄'

104

105

106 classStudyRecord(models.Model):107 '''學習記錄表'''

108 student = models.ForeignKey('Enrollment')109 course_record = models.ForeignKey('CourseRecord')110 attendance_choice = ((0,'已簽到'),(1,'遲到'),(2,'缺勤'),(3,'早退'))111 attendance = models.SmallIntegerField(choices=attendance_choice,default=0)112 score_choices = ((100,'A+'),(90,'A'),(85,'B+'),(80,'B'),(75,'B-'),(70,'C+'),(60,'C'),(40,'C-'),(-50,'D'),(-100,'COPY'),(0,'N/A'))113 score = models.SmallIntegerField(choices=score_choices)114 memo = models.TextField(blank=True,null=True)115 date = models.DateTimeField(auto_now_add=True)116

117 def __str__(self):118 return '%s %s %s' %(self.student, self.course_record, self.score)119

120 classMeta:121 unique_together = ('student', 'course_record')122 verbose_name_plural = '學習記錄'

123

124

125

126

127 classEnrollment(models.Model):128 '''學生報名表(學生報名信息,合同,入學日期,所報班級)'''

129 customer = models.ForeignKey('Customer')130 enrolled_class = models.ForeignKey('ClassList',verbose_name='所報班級')131 consultant = models.ForeignKey('UserProfile',verbose_name='課程顧問')132 contact_agreed = models.BooleanField(default=False,verbose_name='學生已同意合同條款')133 contact_approved = models.BooleanField(default=False,verbose_name='合同已審核')134 date = models.DateTimeField(auto_now_add=True)135

136 def __str__(self):137 return '%s %s' %(self.customer, self.enrolled_class)138

139 classMeta:140 unique_together = ('customer', 'enrolled_class')141 verbose_name_plural = '報名'

142

143 classPayment(models.Model):144 '''繳費記錄'''

145 customer = models.ForeignKey('Customer')146 course = models.ForeignKey('Course')147 amount = models.PositiveIntegerField(verbose_name='數額',default=500)148 consultant = models.ForeignKey('UserProfile')149 date = models.DateTimeField(auto_now_add=True)150

151 def __str__(self):152 return '%s %s' %(self.customer, self.amount)153

154 classMeta:155 verbose_name_plural = '繳費記錄'

156

157 classUserProfile(models.Model):158 '''賬號表'''

159 user =models.OneToOneField(User)160 name = models.CharField(max_length=32)161 roles = models.ManyToManyField('Role',blank=True,null=True)162

163 def __str__(self):164 returnself.name165

166

167 classRole(models.Model):168 '''角色表'''

169 name = models.CharField(max_length=64,unique=True)170

171 def __str__(self):172 returnself.name173

174 classMeta:175 verbose_name_plural = '角色'

176

177 classTag(models.Model):178 '''標簽備注'''

179 name = models.CharField(max_length=64,unique=True)180

181 def __str__(self):182 returnself.name183 classMeta:184 verbose_name_plural = '標簽'

總結

以上是生活随笔為你收集整理的python crm_Python CRM项目一的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。