sql >> Databáze >  >> RDS >> Mysql

Jak vypočítat, zda je věk v rozmezí od roku narození, při načítání roku narození z Db v Django ORM

Možná budete chtít použít relativedelta z dateutil , je pohodlnější vypočítat čas:

import datetime
from dateutil.relativedelta import relativedelta

today = datetime.date.today()
age_25 = (today - relativedelta(years=25)).year
age_36 = (today - relativedelta(years=36)).year
Employees.objects.filter(birth_year__lte=age_25, birth_year__gte=36)

age_25 je před 25 lety, age_36 je před 36 lety, stačí se zeptat, kdy lidé mají narozeniny před 25 až 36 lety.

Pro lte a gte zkontrolovat django doc pro podrobnosti.

Upravit :

Ve skutečnosti django orm podporuje range dotaz, tak udělejte:

Employees.objects.filter(birth_year__range=[age_36, age_25])



  1. Proveďte dynamický dotaz s go v sql

  2. Nejlepší způsob uložení uživatelských nastavení v MySQL?

  3. Jak automaticky doplnit několik tabulek pomocí DBEdit

  4. Přístup odepřen uživateli 'root'@'localhost' (pomocí hesla:YES) (Mysql::Error)