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

Làm cách nào để viết một truy vấn Django tính toán ngày tháng khi được thực thi dưới dạng PostGres SQL?

Bạn có thể thêm các hàm cơ sở dữ liệu vào Django , vì điều này, bạn có thể thêm một hàm cho câu lệnh INTERVAL trong postgres

class IntervalSeconds(Func):

    function = 'INTERVAL'
    template = "(%(expressions)s * %(function)s '1 seconds')"

Sau đó, bạn có thể sử dụng hàm này trong các truy vấn của mình để thêm giây vào ngày giờ

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

Kết quả của IntervalSeconds hàm là khoảng thời gian đăng bài 1 giây nhân với trường được truyền cho nó. Điều này có thể được thêm và bớt từ một dấu thời gian. Bạn có thể tạo một Interval chung chung chức năng này không chỉ mất vài giây mà phức tạp hơn một chút

ExpressionWrapper được yêu cầu chuyển đổi kết quả thành đối tượng datetime




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách chèn hàng loạt chỉ hàng mới trong PostreSQL

  2. Lỗi khi cố gắng kết nối R với PostgreSQL bằng RODBC

  3. Xử lý BatchUpdateException bằng withBatch

  4. Bộ lọc truy vấn Django sử dụng mảng id lớn trong Postgres DB

  5. Làm cách nào để NHÓM THEO ngày với trường dấu thời gian trong Postgres?