Reputation: 1266
class Payment(models.Model):
name = models.CharField()
payment_date = models.DateField()
Example
Table Payment
id name payment_date
1 A 2022-01-01
2 B 2022-01-02
3 C 2022-01-02
4 D 2022-01-06
Suppose the due date for each payment is payment_date+10 days. Suppose iam checking on the date '2022-01-12' the records which are due is
2022-01-01 + 10 days = 2022-01-11 Due
2022-01-02 + 10 days = 2022-01-12 Due
2022-01-06 + 10 days = 2022-01-16 Not Due
So my sample output should be
Sample:
<QuerySet [<Payment: A>, <Payment: B>, <Payment: C>]>
Upvotes: 1
Views: 1052
Reputation: 12078
You can do:
from datetime import timedelta
from django.utils import timezone
Payment.objects.filter(
payment_date__lte=timezone.now() - datetime.timedelta(days=10)
)
Upvotes: 3
Reputation: 179
you can use timedelta
from datetime import timedelta
you can now add days to your datetime objects like this and then filter on basis of that date
new_date = payment_date+timedelta(days=10)
Upvotes: 0