Django之CRM项目Day6-公私户转换问题解决 班主任功能

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值