Vấn đề về use_tz

USE_TZ = True
TIME_ZONE = 'Asia/Bangkok' // Mặc định là UTC
USE_I18N = True

Với USE_TZ = TRUE

Việc đọc và ghi dữ liệu ko ảnh hưởng nếu trường dữ liệu của bạn có các tham số mà django cung cấp. Django tự detect các tham số như “auto_add” và “auto_add_now” các tham số này thường ở định dạng ngày giờ là UTC việc đọc hoặc ghi dữ liệu sẽ không bị ảnh hưởng đến giờ ở VN do TIME_ZONE = 'Asia/Bangkok'

Đối với các trường dữ liệu ngày giờ khác (không có “auto_add” và “auto_add_now”) sẽ không sử dùng cùng logic này

READ_DATA = TIMEZONE = 'Asia/Bangkok' WRITE_DATA = TIMEZONE = UTC

Với USE_TZ = False

Việc đọc và ghi dữ liệu sẽ tự do và do giờ của bạn quyết dịnh tham số, lưu ý rằng 1 số phương thức của django sẽ bị ảnh hưởng nếu bạn chỉnh qua định dạng này

Trường hợp dễ thấy là bến sẽ ko có tzinfo; nó hoạt động như cách mà bạn tạo các trường dữ liệu ko có “auto_add” ở trên

READ_DATA = YOUR CURRENT TIME OR YOUR TIME IN PUT WRITE_DATA = YOUR CURRENT TIME OR YOUR TIME IN PUT

Vấn đề về time_zone aware django server;

DJANGO_CELERY_BEAT_TZ_AWARE = True;
USE_TZ = True
TIME_ZONE = 'Asia/Bangkok'

Khi bật 2 tham số trên sang True thời gian sẽ truy vấn dựa trên localtime nếu ở dưới local ko có các múi giờ đã defind ở trên như ‘TIME_ZONE = 'Asia/Bangkok’ thì django admin sẽ xuất hiện tình trạng lỗi “Datetime data value”. Ở các môi trường ứng dụng khác thì các gói múi giờ đã được cài sẵn nên sẽ không xảy ra tình trạng lỗi này;

Cách khắc phục lỗi trên ta cần tải thêm múi giò bổ sung: ('Asia/Bangkok')

timezone_posix.sql

Hầu hết các hệ điều hành đều truy vấn import gói múi giờ như nhau (Linux | MacOS | Windows)

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql