上下文:
updateview
用于工资单。在updateview
中,有关员工薪资的详细信息中,有一个按钮,用于添加/编辑/删除加班记录。
工资单updateview
的模型为Cur_Payroll
。加班的模型是Cur_OT
用户单击“添加”超时按钮后,我想将它们发送到新页面,其中将创建Cur_OT
实例以随着时间的推移进行添加。在该模型中,我希望将Cur_Payroll
中的某些字段用作默认值,例如员工编号,工资期。
解决此问题的好方法是什么?
class OvertimeCreate(LoginRequiredMixin,CreateView):
model = Cur_OT
template_name = 'payroll/transaction/otcreate.html'
fields = [
'empno',
'dtpay',
'cd_ot',
'ot_hrs',
'ot_amt',
'ty_ot',
]
def get_context_data(self,**kwargs):
from Home.models import hrm,t_pay
context = super(OvertimeCreate,self).get_context_data(**kwargs)
context['m_tpay'] = t_pay.objects.get(pk=self.kwargs['pk'])
return context
def get_success_url(self,**kwargs):
from Home.models import hrm,t_pay
context = super(OvertimeCreate,self).get_context_data(**kwargs)
m_tpay = t_pay.objects.get(pk=self.kwargs['pk'])
return reverse('payrollTransactionUpdate', kwargs={'pk':m_tpay.id })
由于我在继续研究后解决了此问题,因此该帖子已更新。 我只想问一下,这是最好的方法吗?可以吗?