这是用户/员工请假的项目,管理员可以看到它。
models.py
from django.db import models
from django.contrib.auth.models import User
CHOICES = (('1','Earned Leave'),('2','Casual Leave'),('3','Sick Leave'),('4','Paid Leave'))
class Leave(models.Model):
user = models.ForeignKey(User, on_delete = models.CASCADE, null =True)
name = models.CharField(max_length = 50)
employee_ID = models.CharField(max_length = 20)
department = models.CharField(max_length = 15)
designation = models.CharField(max_length = 15)
type_of_leave = models.CharField(max_length = 15, choices = CHOICES, default = None)
from_date = models.DateField()
to_date = models.DateField()
reporting_manager = models.CharField(max_length = 50, default = None)
reason = models.CharField(max_length= 180)
def __str__(self):
return self.name
表格
from django import forms
from lrequests import models
CHOICES = (('1','Earned Leave'),('2','Casual Leave'),('3','Sick Leave'),('4','Paid Leave'))
class LeaveRequestForm(forms.ModelForm):
class Meta:
fields = ("name", "employee_ID", "department", "designation", "type_of_leave", "from_date", "to_date", "reporting_manager", "reason")
model = models.Leave
管理员
from django.contrib import admin
from . import models, forms
class LeaveAdmin(admin.ModelAdmin):
form = forms.LeaveRequestForm
admin.site.register(models.Leave, LeaveAdmin)
在views.py文件中,我不确定如何编写代码以将数据存储在数据库中。使管理员可以查看从表单获取的数据。
views.py
from django.shortcuts import render
from django.http import HttpResponseRedirect
from .forms import LeaveRequestForm
from django.views.generic import TemplateView
def leaveRequest(request):
form_class = LeaveRequestForm
if request.method == "POST":
form = LeaveRequestForm(request.POST)
if form.is_valid():
leave = form.save(commit = False)
return HttpResponse("Sucessfully submitted")
else:
return render(request, "request_form.html", {'form' : form_class})
相关分类