day34 crm开发之班级管理及字段合并、时间和多个任课老师展示处理
字段合并
班级管理,课程和某一期班级字段是分开的如图
# -*- encoding: utf-8 -*-
"""
@File : classList.py
@Time : 2022/3/6 14:29
@Author : simon
@Email : 294168604@qq.com
@Software: PyCharm
"""
from stark.service.v1 import StarkHandler
class ClassListHandler(StarkHandler):
list_display = ['school', 'course', 'semester', 'price']
现在我们需要合并,在班级业务模块代码修改如下
# -*- encoding: utf-8 -*-
"""
@File : classList.py
@Time : 2022/3/6 14:29
@Author : simon
@Email : 294168604@qq.com
@Software: PyCharm
"""
from stark.service.v1 import StarkHandler
class ClassListHandler(StarkHandler):
def display_course(self, obj=None, is_header=None):
if is_header:
return '班级'
return "%s %s期" % (obj.course.name, obj.semester,)
list_display = ['school', display_course, 'price']
效果如下
日期处理
日期展示如下
在stark组件中,增加日期格式处理函数
def get_datetime_text(title, field, time_format='%Y-%m-%d'):
"""
对于Stark组件中定义列时,定制时间格式的数据
:param title: 希望页面显示的表头
:param field: 字段名称
:param time_format: 要格式化的时间格式
:return:
"""
def inner(self, obj=None, is_header=None):
if is_header:
return title
datetime_value = getattr(obj, field)
return datetime_value.strftime(time_format)
return inner
web应用调用如下
# -*- encoding: utf-8 -*-
"""
@File : classList.py
@Time : 2022/3/6 14:29
@Author : simon
@Email : 294168604@qq.com
@Software: PyCharm
"""
from stark.service.v1 import StarkHandler,get_datetime_text
class ClassListHandler(StarkHandler):
def display_course(self, obj=None, is_header=None):
if is_header:
return '班级'
return "%s %s期" % (obj.course.name, obj.semester,)
list_display = ['school', display_course, 'price',get_datetime_text('开班日期', 'start_date'),'class_teacher','tech_teachers']
效果如下
多个人员展示处理
目前展示如下
stark组件需要增加文本处理函数
def get_m2m_text(title, field):
"""
对于Stark组件中定义列时,显示m2m文本信息
:param title: 希望页面显示的表头
:param field: 字段名称
:param time_format: 要格式化的时间格式
:return:
"""
def inner(self, obj=None, is_header=None):
if is_header:
return title
queryset = getattr(obj, field).all()
text_list = [str(row) for row in queryset]
return ','.join(text_list)
return inner
web应用调用如下
# -*- encoding: utf-8 -*-
"""
@File : classList.py
@Time : 2022/3/6 14:29
@Author : simon
@Email : 294168604@qq.com
@Software: PyCharm
"""
from stark.service.v1 import StarkHandler,get_datetime_text,get_m2m_text
class ClassListHandler(StarkHandler):
def display_course(self, obj=None, is_header=None):
if is_header:
return '班级'
return "%s %s期" % (obj.course.name, obj.semester,)
list_display = ['school', display_course, 'price',get_datetime_text('开班日期', 'start_date'),
'class_teacher',get_m2m_text('任课老师','tech_teachers')]
效果展示
分类:
crm系统开发
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具