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

PostGres SQLとして実行されたときに日付計算を行うDjangoクエリを作成するにはどうすればよいですか?

    データベース関数をDjangoに追加できます 、このために、INTERVALステートメント の関数を追加できます。 postgresで

    class IntervalSeconds(Func):
    
        function = 'INTERVAL'
        template = "(%(expressions)s * %(function)s '1 seconds')"
    

    次に、クエリでこの関数を使用して、日時に秒を追加できます

    YourModel.objects.annotate(
        attr=ExpressionWrapper(
            F("article__created_on") + IntervalSeconds(F("article__websitet__avg_time_in_seconds_to_reach_ep")),
            output_field=models.DateTimeField()
        ),
    )
    

    IntervalSecondsの出力 関数は1秒ですPostgres間隔 渡されたフィールドを掛けます。これは、タイムスタンプに加算および減算できます。一般的なIntervalを作成できます 数秒しかかからない機能です。これはもう少し複雑です

    ExpressionWrapper 結果を日時オブジェクトに変換するには

    が必要です


    1. OracleClientのレジストリでNLS_LANG設定を変更した場合の影響

    2. PostgreSQL:クエリの行数を「分単位」で実行

    3. 初めてユーザー権限を付与したときにGRANTUSAGEが作成されるのはなぜですか?

    4. Oracleデータベースからオペレーティングシステムのタイムゾーンを文字列形式で収集するにはどうすればよいですか? (日付をtzでtsに移行/変換します)