Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana menghitung jika usia dalam kisaran dari tahun lahir, saat mengambil tahun lahir dari Db di Django ORM

Anda mungkin ingin menggunakan relativedelta dari dateutil , lebih mudah untuk menghitung waktu:

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 adalah 25 tahun yang lalu, age_36 adalah 36 tahun yang lalu, Anda hanya menanyakan ulang tahun orang-orang yang jatuh antara 25 dan 36 tahun yang lalu.

Untuk lte dan gte periksa django doc untuk detailnya.

Sunting :

Sebenarnya, Django orm mendukung range kueri, jadi lakukan saja:

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. Dapatkan peringkat, berdasarkan skor, dari Database MySql yang tidak diurutkan saat diberi Nama Pengguna

  2. MySQL:Pisahkan kolom menjadi dua

  3. Kunci UNIK MySQL tidak berfungsi

  4. Mysql:jalankan perintah ditolak ke pengguna ''@'localhost' untuk kesalahan rutin

  5. Bagaimana cara menggunakan kaskade penghapusan pada mesin penyimpanan MySQL MyISAM?