Я хочу показать номер банковского счета сотрудника на основе сохраненных банковских реквизитов при добавлении зарплаты.Но теперь я получаю номер банковского счета всего сотрудника, а не только выбранный.ниже - мой forms.py
Я пытался установить поле в forms.py, но я не знаю, как фильтровать, используя идентификатор сотрудника в этом.
class SalaryCreateForm(forms.ModelForm):
class Meta:
model = Salary_Rotation
fields = ('Sal_Emp_Desig', 'Payment_Mode_of_Salary', 'Emp_Acc_number', 'Cheque_Number', 'Transaction_Number', 'P_Tax', 'Salary_Amount', 'Salary_Date')
def __init__(self, *args, **kwargs):
super(SalaryCreateForm,self).__init__(*args, **kwargs)
self.fields['Sal_Emp_Desig'].queryset = Designation.objects.filter(Is_Del=0)
self.fields['Emp_Acc_number'].queryset = Employee_Bank_Detail.objects.filter(Is_Del=0)
ниже - мой шаблон
<form class="form-group" method="POST">
{% csrf_token %}
<label class="control-label"> Employee Name:- </label>
<input class="form-control" value="{{emp.Emp_Name}}" type="text" name="compnay" readonly/ >
<label class="control-label"> Company Name:- </label>
<input class="form-control" value="{{emp.Emp_company}}" type="text" name="compnay" readonly/ >
<label>Bank Account</label>
<select id="id_Emp_Acc_number" name="Emp_Acc_number" class="form-control" >
<option value="" selected="">---------</option>
{% for acc_num in bank_acc_numbers %}
<option value="{{acc_num.id}}" >{{ acc_num.Emp_Acc_num }}</option>
{% endfor %}
</select>
{%endfor%}
{{ form|crispy }}
<button class="btn btn-rounded btn-success" type="submit">Add Experience</button>
{% for emp in employees%}
<a href="{% url 'employee-detail' emp.id %}" class="btn btn-rounded btn-brand ml-4">Cancel</a>
{%endfor%}
</form>
ниже - мой view.py
class SalaryCraeteView(LoginRequiredMixin,SuccessMessageMixin,CreateView):
#permission_required = 'Company.add_company'
model=Salary_Rotation
success_message = " Salary added successfully!"
reverse_lazy('employee-detail')
login_url= "login"
template_name = 'employee_salary_form.html'
form_class = SalaryCreateForm
def form_valid(self,form,**kwargs):
form.instance.Sal_Crt_By = self.request.user
form.instance.Is_Del =0
def get_context_data(self, **kwargs):
kwargs['employees'] = Employee.objects.filter(pk=self.kwargs['pk'])
kwargs['bank_acc_numbers'] = Employee_Bank_Detail.objects.filter(Emp_Bank_id=self.kwargs['pk']).filter(Is_Del=0)
return super(SalaryCraeteView, self).get_context_data(**kwargs)
Я хочу показать значения в раскрывающемся списке на основе банковских данных сотрудника, не все банковские реквизиты сотрудника.