[英]How to find objects created within given date range?
I have a model: 我有一个模型:
class Customer(models.Model):
Name = models.TextField(blank=False)
Surname = models.TextField(blank=False)
PhoneNumber = models.TextField()
Address = models.TextField()
SendSms = models.BooleanField(default=True)
SendEmail = models.BooleanField(default=True)
Email = models.TextField()
Created = models.DateField(auto_now_add=True)
@classmethod
def create(cls, name, surname, phoneNumber, address , sendSms, sendEmail, email):
customer = cls(Name=name, Surname=surname, PhoneNumber=phoneNumber
, Address=address, SendSms=sendSms, SendEmail=sendEmail
, Email=email)
customer.save()
return customer
In a view, i want to find Customers created within given date range. 在视图中,我想查找在给定日期范围内创建的客户。 Let's say 7 days. 假设7天。
Below code: 下面的代码:
def RecentCustomers(request):
return render_to_response("Customer/AllCustomers.html", {
"customers": Customer.objects.filter(
date__range=[datetime.date.today() - datetime.timedelta(days=7), datetime.date.today()])})
Gives: 得到:
Cannot resolve keyword 'date' into field. 无法将关键字“日期”解析为字段。 Choices are: Address, Created, Email, Name, PhoneNumber, SendEmail, SendSms, Surname, id, pet 选项包括:地址,创建的电子邮件,姓名,电话号码,SendEmail,SendSms,姓氏,ID,宠物
Error. 错误。 I have also tried: 我也尝试过:
def RecentCustomers(request):
return render_to_response("Customer/AllCustomers.html", {
"customers": Customer.objects.filter(Created >= datetime.date.today() - datetime.timedelta(days=7)})
But that gives: 但这给出了:
invalid syntax 无效的语法
Error. 错误。 How to i filter date for this? 我该如何过滤日期?
Customer.objects.filter(Created__gte=datetime.date.today() - datetime.timedelta(days=7))
By the way, it is a good practice to create your model fields, template names, directories, functions etc. always with lowercase
names. 顺便说一句,最好使用lowercase
名称创建模型字段,模板名称,目录,函数等。
from django.shortcuts import render
def recent_customers(request):
customers = Customer.objects.filter(created__gte=datetime.date.today() - datetime.timedelta(days=7))
return render(request, "customer/all_customers.html", {"customers": customers})
You might want to take a look at the style guide regarding naming convention rules in Python. 您可能想看看有关Python中命名约定规则的样式指南 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.