问题描述
我有两个模型
用户模型和 DailyPresent 模型,用户作为 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
请帮助我.. 提前致谢
解决方法
可以使用Q模块,在搜索时处理“或”条件的组合:
()
或使用 from django.db.models.query_utils import Q
dailyPresents = DailyPresentReport.objects.filter(Q(present="PRESENT") |
Q(present="ABSENT"))
排除休假:
.exclude