Django Warning: Received a Naive Datetime

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan
Django Warning: Received a Naive Datetime

Django menyediakan konfigurasi local timezone, ini memudahkan developer mengkonfigurasi local timezone menjadi lebih mudah.

Namun saat Anda melakukan query menggunakan django models sering terjadi alert "Received a Naive Datetime".

Untuk menghilangkan warning tersebut anda bisa memberitahu system bahwa query data anda telah menggunakan format yang benar menggunakan "make_aware". Perhatikan sample code dibawah ini:

Sample File Models :

from django.db import models
from django.utils import timezone

class TableName(models.Model):
created_date = models.DateTimeField(blank=True, null=True)
update_date = models.DateTimeField(blank=True, null=True)
def save(self, *args, **kwargs):
if not self.created_date:
self.created_date = timezone.now()
self.update_date = timezone.now()
super().save(*args, **kwargs)
class Meta:
abstract = True

 

Sample File Query:

from datetime import datetime
from django.utils import timezone

f_aware = timezone.make_aware(datetime.strptime("2022-08-16","%Y-%m-%d %H:%M:%S"), timezone.get_current_timezone())
t_aware = timezone.make_aware(datetime.strptime("2022-08-16","%Y-%m-%d %H:%M:%S"), timezone.get_current_timezone())
query = TableName.objects.filter(created_date__range=(f_aware, t_aware))

Baca artikel lainya :