【发布时间】:2025-12-09 06:10:01
【问题描述】:
型号
class Head_of_department(models.Model):
first_name = models.CharField(max_length=200)
last_name = models.CharField(max_length=200)
email = models.CharField(max_length=30)
def __str__(self):
return self.first_name
class Employee(models.Model):
first_name = models.CharField(max_length=200, unique=True)
last_name = models.CharField(max_length=200, unique=True)
head_of_department = models.ForeignKey('Head_of_department', on_delete=models.SET_NULL, blank=True, null=True)
email = models.EmailField(max_length=100)
def __str__(self):
return self.first_name + ' ' + self.last_name
class Attendance(models.Model):
head_of_department = models.ForeignKey('Head_of_department', on_delete=models.SET_NULL, blank=True, null=True)
employee = models.ForeignKey('Employee', on_delete=models.CASCADE, )
attendance = models.CharField(max_length=8, choices=attendance_choices, blank=True)
观看次数
class Attendancecreate(CreateView):
model = Attendance
fields = ['employee']
success_url = '/dashboard/'
def get_context_data(self,** kwargs):
context = super(Attendancecreate, self).get_context_data(**kwargs)
email = self.request.user.email
hod = Head_of_department.objects.get(email=email)
context["objects"] = self.model.objects.filter(employee__head_of_department =hod)
print (context["objects"])
return context
def form_valid(self, form):
self.object = form.save(commit=False)
self.object.head_of_department = get_object_or_404(Head_of_department, email=self.request.user.email)
self.object.save()
return super().form_valid(form)
模板
<div class="form-group">
{% for item in objects %}
{{ item.employee }}
{% endfor %}
</div>
webapp 具有登录功能。系主任可对出席情况进行标记。我想在各自登录的 HOD 下呈现员工列表并标记出勤率。我想在同一个视图中执行此操作。
我无法呈现已登录 HOD 的员工。
【问题讨论】:
-
您想在模板中显示哪个表格?
-
现在在模板中,您可以呈现出勤表中的数据,以及所有与 Head_of_department 和 Employee 关联的数据。
-
我想在一个视图中呈现员工列表并标记出勤。员工名单必须在考勤的创建视图中列出
-
{% for item in objects %} {{ item.employee.first_name }} {% endfor %}
-
我试过了,没用
标签: python django django-models django-templates