Контекст: 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 })
Эта публикация была обновлена после того, как я решил проблему после продолжения исследования.Я просто хотел бы спросить, это лучший подход для этого?Это нормально?