Django - CRM项目(3)

一、CRM项目的业务逻辑与表结构梳理

1、分析业务逻辑

  (1) 引流(sem)

  (2) 网络咨询师(客服):添加客户信息和查看客户,分配销售

  (3) 销售:查看私户

              添加跟进记录

        失败:加入公户

        成功:缴费,修改状态

  (4)产生的表有:

    员工表,部门表,客户表,跟进记录表,缴费表,报名表

    学生表,班级表,课程记录表,学生学习记录表

2、crm项目进度

  (1)整合优化添加和编辑的代码

  (2)私户转公户

  (3)添加跟进记录

二、补充知识点

1、model模型类中表的自关联

class Customer(models.Model):
    """
    客户表
    """
    ...
    introduce_from = models.ForeignKey('Customer', verbose_name="转介绍自学员", blank=True, null=True,on_delete=models.CASCADE)
   # 自关联:与自身表建立关系

2、model模型类中使用联合唯一

class ClassList(models.Model):
    """
    班级表
    """
    course = models.CharField("课程名称", max_length=64, choices=course_choices)
    semester = models.IntegerField("学期")
    campuses = models.ForeignKey('Campuses',verbose_name="校区",on_delete=models.CASCADE)
    ...

    class Meta:
        unique_together = ("course", "semester", 'campuses')# 设置联合唯一字段

3、model中实例化对象时参数auto_now_add=True

class Enrollment(models.Model):
    """
    报名表
    """
    ...
    enrolled_date = models.DateTimeField(auto_now_add=True, verbose_name="报名日期")    # 表示在生成记录的同时该字段的值自动指定为当前时间

4、字段名__isnull=True

  判断某字段是否为空

5、foreignKey参数limit_choices_to的使用

"""
class ForeignKey(ForeignObject):
    ......

    def __init__(self, to, on_delete, related_name=None, related_query_name=None,
                 limit_choices_to=None, parent_link=False, to_field=None,
                 db_constraint=True, **kwargs):
    ......
"""

 参数limit_choices_to只有当使用modelform时才有意义,表示限制关联表中符合limit_choices_to限制条件的记录,modelform在渲染页面时只显示过滤出来的记录,默认显示全部记录。

  用法:limit_choices_to={"pk":"3"}  # 表示modelform渲染页面时只渲染limit_choices_to中过滤出来的对象。

 

转载于:https://www.cnblogs.com/wxj1129549016/p/9956352.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值