第77篇
Posted cavalier-chen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第77篇相关的知识,希望对你有一定的参考价值。
1. 添加沟通记录的两个需求
1.1 customer字段里面选的客户只能是我私户里面的客户
为form表单设置指定的choices
沟通记录的form class ConsultRecordForm(BootstrapBaseForm): class Meta: model = ConsultRecord exclude = [‘delete_status‘, ] def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) # 把customer字段的choice设置成我的客户 print(self.instance, id(self.instance)) print(‘&‘ * 120) # 方法一:修改字段的choices选项 # self.fields[‘customer‘].choices = Customer.objects.filter(consultant=self.instance.consultant).values_list(‘id‘,‘name‘) # 方法二 将form表的字段直接修改 self.fields[‘customer‘] = forms.models.ModelChoiceField(queryset=Customer.objects.filter(consultant=self.instance.consultant)) self.fields[‘customer‘].widget.attrs.update({‘class‘: ‘form-control‘})
1.2 跟进人默认是自己
form表单的字段设定默认值
# 添加和编辑沟通记录 def consult_record(request, edit_id=None): record_obj = ConsultRecord.objects.filter(id=edit_id).first() # None if not record_obj: record_obj = ConsultRecord(consultant=request.user) # 生成一个销售是我的ConsultRecord对象 print(record_obj, id(record_obj)) print(‘@‘ * 120) form_obj = ConsultRecordForm(instance=record_obj, initial={‘consultant‘: request.user}) return render(request, ‘consult_record.html‘, {‘form_obj‘: form_obj, ‘edit_id‘: edit_id})
以上是关于第77篇的主要内容,如果未能解决你的问题,请参考以下文章