Как сравнить даты с Джанго - PullRequest
       0

Как сравнить даты с Джанго

0 голосов
/ 07 февраля 2019

У меня есть модель Post, которая имеет время окончания членства в VIP.Я хочу посчитать количество активных членов.

Моя модель:

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.Какой идеальный способ сделать это?

1 Ответ

0 голосов
/ 07 февраля 2019

Для запросов SQL, которые используют предложение WHERE, следует использовать поиск по полю Django (см. Ссылки на документы)

Вы можете использовать __lt:

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

Что означает любойРазмещать объекты, где поле vip имеет значение true, а поле vipnd меньше now().

. Вы также можете использовать __date__lt, если хотите игнорировать компонент времени поля.

Django doc: lt
Django doc: date

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...