博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django之CRM项目Day6-公私户转换问题解决 班主任功能
阅读量:5253 次
发布时间:2019-06-14

本文共 1348 字,大约阅读时间需要 4 分钟。

1.解决公户转私户的问题

数据库中加锁:

​ begin; 开始事务

​ select * from user where id=1 for update; 加锁

​ commit; 结束事务

django中加锁:

with transaction.atomic():    # 查询出数据加锁    queryset = models.Customer.objects.filter(id__in=ids, consultant__isnull=True).select_for_update()  # 加锁    if len(ids) == queryset.count():        queryset.update(consultant=self.request.account)        return    return HttpResponse('你的手速太慢了,已经被别人抢走了')

设置数量的上限

2.班主任的功能:

​ -班级的管理

​ form的__all__在前端的显示 {

{ form_obj.non_field_errors.0 }}

​ -课程记录的管理

​ -学习记录的管理

# 批量创建list1 = []for student in all_students:    list1.append(models.StudyRecord(course_record=course_record_obj, student=student))models.StudyRecord.objects.bulk_create(list1)

modelformset

# 生成FormSet的类FormSet = modelformset_factory(models.StudyRecord, StudyRecordForm, extra=0) # 查询的数据all_study_record = models.StudyRecord.objects.filter(course_record_id=course_record_id)# modelformset对象form_obj = FormSet(queryset=all_study_record)form_obj = FormSet(request.POST, queryset=all_study_record)form_obj.is_valid()form_obj.save()# 错误提示form_obj.errors
{
{ form.instance }} ——》 每一个数据 对应的对象{
{ form.instance.student }} —— 》 值{
{ form.attendance }} —— 》 input框 select框注意:{
{ form_obj.management_form }} 每一行要有 {
{ form.id }}

转载于:https://www.cnblogs.com/russellyoung/p/Django-zhiCRM-xiang-muDay6gong-si-hu-zhuan-huan-we.html

你可能感兴趣的文章
Cookie、 LocalStorage 与 SessionStorage详解
查看>>
Thuwc2018 游记
查看>>
R语言输入与输出
查看>>
国土档案管理信息系统【档案著录】-他项权利类档案著录
查看>>
P3366 【模板】最小生成树
查看>>
一个屌丝程序猿的人生(六十九)
查看>>
(二)代理模式详解(包含原理详解)
查看>>
webgame(php+flex) 的优化方案。
查看>>
Xamarin Studio –Project not built in active configuration
查看>>
Linux服务器丢包故障的解决思路及引申的TCP/IP协议栈理论
查看>>
Pandas模块
查看>>
为程序申请管理员权限
查看>>
day6——is,==,编码和解码
查看>>
mybatis学习(三)——接口式编程
查看>>
Leetcode 74 Search a 2D matrix
查看>>
JDBC工具类创建及使用
查看>>
特征归一化的方法 线性归一化 零均值归一化
查看>>
「BZOJ 2434」「NOI 2011」阿狸的打字机「AC自动机」
查看>>
Android开发学习笔记:浅谈显示Intent和隐式Intent
查看>>
繁忙的企业家
查看>>