Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách tính tuổi có nằm trong phạm vi năm sinh hay không, trong khi tìm nạp năm sinh từ Db trong Django ORM

Bạn có thể muốn sử dụng relativedelta từ dateutil , thuận tiện hơn để tính toán thời gian:

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 là 25 năm trước, age_36 là 36 năm trước, bạn chỉ cần truy vấn sinh nhật của mọi người rơi vào khoảng từ 25 đến 36 năm trước.

Đối với ltegte kiểm tra django doc để biết chi tiết.

Chỉnh sửa :

Trên thực tế, django orm hỗ trợ range truy vấn, vì vậy chỉ cần làm:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Giới thiệu về Phân nhóm và Tính tổng trong SQL

  2. Có cách nào để PHP xác thực cú pháp SQL mà không cần thực thi nó không?

  3. Làm thế nào để CHỌN hai cột, trong đó một cột phải là DISTINCT?

  4. PHP ghi 800 bản ghi vào tệp (.txt) từ cơ sở dữ liệu

  5. lấy tên cha của danh mục con bằng một truy vấn duy nhất trong mysql