我正在 django rest 框架中開發 Hrms 應用程式。我現在已經創建了員工詳細資訊模塊,下一部分是休假管理系統。實際上,我的公司政策有不同的休假政策,如 cl、sl、ml、compo off 和權限。我無法理解如何為其制定邏輯,也不知道在序列化程式或視圖中的何處撰寫邏輯?作為一個新手,我覺得有些困難。此外,當員工申請休假時,應向 TL 提出申請,然后應讓 hr 和經理看到。Tl 會給予許可,這一切都應該在申請和電子郵件流程中。如何在 rest api 中提出請求和批準以及如何使用 django rest api 發送郵件?誰能指導我。如果員工選擇 Cl,
LeaveType類(模型。模型):
Leave_type = (
('CL', 'Casual Leave'),
('SL', 'Sick Leave'),
('ML', 'Medical Leave'),
('Comp Off', 'Compensation'),
('L.O.P', 'Loss of Pay')
)
Leave_Choice = (
('Full Day', 'Full Day Leave'),
('Fore Noon', 'Fore Noon Only'),
('After Noon', 'After Noon Only'),
Status_choices = (
('Approved', 'Approved'),
('Rejected', 'Rejected'),
('Pending', 'Pending'),
leave_type = models.CharField(max_length=50, choices=Leave_type)
status = models.CharField(max_length=50, choices=Status_choices, default='Pending')
leave_choice = models.CharField(max_length=50, choices=Leave_Choice, default='Full Day')
if leave_type == 'CL':
total_leave_per_year = 12
monthly_leave_applicable = 1
carry_forawrd_monthly_leave = 3
elif leave_type == 'SL':
Quarterly_days_applicable = 2
annual_leave_applicable = 8
uj5u.com熱心網友回復:
所以如果你想要邏輯這里是你可以如何繼續
在用戶請假的地方制作您的第一個 API,允許在資料庫中創建新記錄,并且狀態必須為待定,您還應該允許分配某些用戶型別,例如團隊負責人或提及的 hr。
所以首先我們將我們的代碼作為
您將需要用戶作為表中的外鍵。
LeaveType.objects.create(leave_type="Full_day",status="pending", leave_choice="Cl", assogned_to="some user from foreign key")
現在在第二步是我們的情況,只有某些特定的人才能看到休假。
為此,您需要注意 django 權限,假設我們在您的系統中有 3 種用戶型別,例如您的用戶模型中的 HR、Team Lead 和 Project Manager。
所以你需要寫你的自定義權限類。
您可以通過 rest_framework 匯入權限執行此操作
class CanViewLeavePermission(permissions.BasePermission):
def has_permission(self, request, view):
# check if user is team lead or not
return bool(request.user.is_team_lead)
現在我們可以在我們的視圖中合并我們上面的類和權限類串列
class UpdateLeaveRequestView(UpdateAPIView):
permisson_class =[IsAuthenticated,CanViewLeavePermission]
在此之后你只需要用戶 ID,我的意思是我們將創建邏輯來更新我們的 api,因為 id 將被視為來自 url 的 slug,我們可以只LeaveType使用來自 url 的主鍵查詢模型并發送電子郵件并更新狀態并且可以分配給下一個人,如果掛起的休假已經更新,則允許進行某種程度的驗證。
希望你明白!
uj5u.com熱心網友回復:
為休假創建一個單獨的應用程式,作為外鍵欄位鏈接到主要員工。然后宣告休假模型,并在序列化程式中執行條件,以允許或不允許員工申請休假。通過權限,您可以控制視圖的只讀或讀/寫部分。要發送電子郵件,請查看檔案: https ://docs.djangoproject.com/en/4.1/topics/email/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/533584.html
標籤:Python姜戈django-模型django-rest-框架django 视图
上一篇:用戶物件沒有屬性組態檔
