Django Warning: Received a Naive Datetime

Subscribe dengan Account Google untuk mendapatkan News Letter terbaru dari Halovina !
Django Warning: Received a Naive Datetime
Lenovo LOQ Gaming 15IRX9 Intel Core i5

Lenovo LOQ Gaming 15IRX9 Intel Core i5

Lenovo LOQ 15IRX9 83DV00A8ID - CI5-13450HX/12GB/512GB/RTX3050 6GB/15.6 FHD IPS/WIN11+OHS2021/LUNA GREY - FREE GIFT - MOUSE - BACKPACK - PERFORMANCE - Processor : Intel® Core™ i5-13450HX, 10C (6P + 4E) / 16T, P-core 2.4 / 4.6GHz, E-core 1.8 / 3.4GHz, 20MB

Free Klik Disini !

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 :