zoukankan      html  css  js  c++  java
  • Django

    一、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中过滤出来的对象。

  • 相关阅读:
    旅行喵 React Native 技术实践
    微信、QQ这类IM App怎么做——谈谈Websocket
    IOS热更新-JSPatch实现原理+Patch现场恢复
    jquery 插件开发及extend
    JS Nice – JavaScript 代码美化和格式化工具
    ExtJS与jQuery的一点细节上的对比
    JQuery实现图片的预加载与延时加载
    十个实用但IE不支持的CSS属性
    如何通过预加载器提升网页加载速度
    遭遇Asp.Net长文件名下载的问题和解决办法
  • 原文地址:https://www.cnblogs.com/wxj1129549016/p/9956352.html
Copyright © 2011-2022 走看看