sql >> データベース >  >> RDS >> Mysql

Django ORMのDbから出生年を取得しながら、年齢が出生年からの範囲内にあるかどうかを計算する方法

    relativedeltaを使用することをお勧めします dateutilから 、時間を計算する方が便利です:

    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 25年前、age_36 は36年前ですが、25〜36年前の人々の誕生日をクエリするだけです。

    lteの場合 およびgte djangodoc を確認してください 詳細については。

    編集

    実際、djangoormはrangeをサポートしています クエリを実行するだけです:

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



    1. PostgresqlトランザクションIDが見つかりません

    2. MySQLからPostgreSQLへの移行-知っておくべきこと

    3. SQLServerフェールオーバークラスターのインストール-4

    4. JUser ::_ load:ユーザーは3つのメインjoomlaテーブルすべてに存在しますが、ユーザーをロードできません