#python #django
Вопрос:
У меня есть Customer
модель. У этой модели есть created_date
поле.
Я хочу перечислить всех клиентов, созданных в выбранном месяце. Я думаю, что могу использовать timedelta
это, но я не могу понять, как я могу это применить.
Как я могу отфильтровать клиентов в соответствии с выбранным месяцем?
views.py
def log_records(request):
....
form = MyForm()
if request.method == 'POST':
form = MyForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
months = cd.get('months')
selected_month = datetime.today() - timedelta(days=...somethin...)
selected_month_customers = Customer.objects.filter(company=userP[0].company, created_date__gte=last_month.count()
...
context = {'selected_month_customers': selected_month_customers,...}
return render(request, 'logs.html', context)
models.py
class Customer(models.Model):
...
created_date = models.DateTimeField(auto_now_add=True)
...
forms.py
class MyForm(forms.Form):
MONTH_CHOICES = [
('January', 'January'),
('February', 'February'),
('March', 'March'),
('April', 'April'),
('May', 'May'),
('June', 'June'),
('July', 'July'),
('August', 'August'),
('September', 'September'),
('October', 'October'),
('November', 'November'),
('December', 'December'),
]
months = forms.CharField(widget=forms.Select(choices=MONTH_CHOICES), label="Select a month ")
Ответ №1:
Попробуй сделать вот так — Customer.objects.filter(created_date__month=<month_number>)