我为我的事件模块创建了一个刷新函数,如果事件日期已经过了,它会将状态批量更新为0. models.py个
class Events(models.Model):
id = models.AutoField(db_column='id', primary_key=True)
title = models.CharField(max_length=45, blank=True, null=True)
venue = models.CharField(max_length=45, blank=True, null=True)
date = models.DateTimeField(max_length=45, blank=True, null=True)
description = models.CharField(max_length=255, blank=True, null=True)
image = models.ImageField(upload_to=eventpath, blank=True, null=True)
manager = models.CharField(max_length=100, blank=True, null=True)
attendees = models.CharField(max_length=100, blank=True, null=True)
date_posted = models.DateTimeField(max_length=45, blank=True, null=True)
status = models.BooleanField(default=1)
这就是我添加事件的方式.
def uploadEvent(request):
if request.method == "POST":
item = Events()
item.title = request.POST.get('title')
item.venue = request.POST.get('venue')
date = request.POST.get('date')
date_object = datetime.datetime.strptime(date, '%a %b %d %Y %I:%M %p')
item.date = date_object
item.manager = request.POST.get('manager')
item.attendees = request.POST.get('attendees')
item.description = request.POST.get('description')
date_posted = datetime.datetime.strptime(date, '%a %b %d %Y %I:%M %p')
item.date_posted = date_posted
if len(request.FILES) != 0:
item.image = request.FILES['image']
item.save()
return redirect('/amsai/events/')
return render(request, 'admin/events_add.html')
这就是我想要更新所有事件的方式.我把obj.date
换成了date()
def refreshEvent(request):
events = Events.objects.all()
status = 0
date = datetime.datetime.today().date()
if events:
for obj in events:
if obj.date.date() < date:
Events.objects.filter(*****).update(status=status)
return redirect('/amsai/events/')
问题是,我如何过滤那些已通过的日期?我不知道在Filter()中写什么.