Отображение всех сотрудников в статусе присутствия и отсутствия
У меня две модели
Модель пользователя и модель DailyPresent с пользователем как foreign_key в модели DailyPresent.
class DailyPresentReport(models.Model):
PRESENT = 'present'
ABSENT = 'absent'
ON_LEAVE = 'on_leave'
PRESENT_CHOICES = (
(PRESENT, 'Present'),
(ABSENT, 'Absent'),
(ON_LEAVE, 'On Leave'),
)
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='daily_present_report')
present = models.CharField(max_length=10, choices=PRESENT_CHOICES, default=ABSENT)
punch_in = models.DateTimeField(null=True, blank=True)
punch_out = models.DateTimeField(null=True, blank=True)
date = models.DateField(null=True, blank=True)
work_time = models.DurationField(null=True, blank=True)
class Meta:
ordering = ['id']
def __str__(self):
return f'{str(self.user)}: {self.present}'
If User logs in then he is automatically made present
но когда пользователь не входит в систему, ничего не происходит.
Теперь я хочу отобразить таблицу со всеми пользователями с полями присутствия и отсутствия.
Пожалуйста, помогите мне .. Заранее спасибо
1 ответ
вы можете использовать модуль Q, обрабатывая комбинацию условий «или» при поиске:
from django.db.models.query_utils import Q
dailyPresents = DailyPresentReport.objects.filter(Q(present="PRESENT") |
Q(present="ABSENT"))
или используйте
.exclude
чтобы исключить в отпуске:
dailyPresents = DailyPresentReport.objects.exclude(present="ON_LEAVE")