Моя модель:
class Procedure(models.Model):
procid = models.AutoField(primary_key=True, unique=True)
timestr = models.DateTimeField(default=timezone.now)
template = models.ForeignKey(ProcedureTemplate, on_delete=models.CASCADE, blank=True, null=True)
clinic = models.ForeignKey(Clinic, on_delete=models.CASCADE)
doctor = models.ForeignKey(doctor, on_delete=models.SET_NULL, blank=True, null=True)
customer = models.ForeignKey(customer, on_delete=models.CASCADE, null=False)
Я пытаюсь отфильтровать набор запросов по году и месяцу в свойстве модели.
Если я отфильтрую по году:
procedures = Procedure.objects.filter(clinic = clinicobj, timestr__year=2020)
for proc in procedures:
print(f'{proc.pk} {proc.timestr}')
Я получаю:
66 2020-01-08 12:38:37.237585+00:00
67 2020-01-11 15:40:00.344492+00:00
68 2020-01-12 04:50:56.190794+00:00
69 2020-01-26 05:58:36.962205+00:00
70 2020-01-29 09:51:59.038017+00:00
71 2020-02-01 14:24:18.921779+00:00
72 2020-02-09 06:20:30.993496+00:00
73 2020-02-15 10:23:09.068201+00:00
74 2020-02-15 14:04:29.368066+00:00
75 2020-02-16 06:25:09.702327+00:00
76 2020-02-19 14:05:19.369457+00:00
77 2020-02-20 11:13:35.934392+00:00
Однако, когда я пытаюсь сузить его, добавив месяц, я не получаю никаких результатов. Что здесь не так?
Procedure.objects.filter(clinic = clinicobj, timestr__year=2020, timestr__month=2)
<QuerySet []>
Procedure.objects.filter(clinic = clinicobj, timestr__year=2020).filter(clinic = clinicobj, timestr__month=2)
<QuerySet []>