如何比较Django的日期

问题描述 投票:2回答:1

我有有VIP会员结束时间的Post模型。我想算活跃成员。

我的模型:

class Post(models.Model):
    title = models.CharField(max_length=250,verbose_name ='Başlık')
    image =  models.ImageField(upload_to=upload_location, null=True, blank=True,verbose_name ='Vitrin Fotoğrafı')
    vip = models.BooleanField(default=False,verbose_name ='Vip')
    phone = models.CharField(max_length=11,verbose_name ='Telefon')
    vipend = models.DateTimeField(auto_now=False,auto_now_add=False,null=True,blank=True,verbose_name ='Vip Bitiş')

我的观点:

def yonetim(request):

endvipcount = Post.objects.fiter(vip=True,vipend<datetime.now()).count() # This part is obviously wrong # 

context = {
    "endvipcount": endvipcount ,

    }
 return render(request, "yonetici.html", context)

错误:

endvipcount = Post.objects.fiter(vip=True, vipend < datetime.now()).count()
                                                       ^
SyntaxError: invalid syntax

我想主动和被动VIP会员数。什么是做它的理想方式?

python django datetime
1个回答
8
投票

对于使用你应该使用Django场看起坐WHERE子句的SQL查询(见文档链接)

您可以使用__lt

Post.objects.fiter(vip=True, vipend__lt=datetime.now()).count()

这意味着任何物体后在贵宾场是真实的vipend字段小于now()

如果你想忽略场的时间部分也可以使用__date__lt

Django doc: lt Django doc: date

© www.soinside.com 2019 - 2024. All rights reserved.