Django: RunTimeWarning: DateTimeField recibió una fecha y hora ingenua mientras el soporte de zona horaria está activo

Estoy tratando de probar la creación de un carrito basado en el carrito de django.

Pero tengo este error cuando bash crear el carrito:

RunTimeWarning: DateTimeField recibió un datetime ingenuo mientras el soporte de zona horaria está activo

Hice algunas investigaciones pero no pude resolver mi problema para datetime.datetime.now()

test_views.py en mi directorio de pruebas:

 from django.test import TestCase, Client, RequestFactory import unittest from django.contrib.auth.models import User, AnonymousUser from front.models import Entreprise, Cart, CartItems from decimal import Decimal from front.cart import models import datetime import pytz from pytz import all_timezones from django.utils import timezone def _create_cart_in_database(self, creationDate=datetime.datetime.now(), checkedOutDate=True): """ Helper function so I don't repeat myself """ cart = models.Cart() cart.creationDate = creationDate cart.checkedOutDate = False cart.save() return cart def test_cart_creation(self): creationDate = datetime.datetime.now() cart = self._create_cart_in_database(creationDate) id = cart.id cart_from_database = models.Cart.objects.get(pk=id) self.assertEquals(cart, cart_from_database) 

modelos.py:

 class Cart(models.Model): creationDate = models.DateTimeField() 

También tengo USE_TZ = True en mi configuración.

Intenté timezone.now() pero todavía no funciona:

 def _create_cart_in_database(self, creationDate=timezone.now(), checkedOutDate=True): def test_cart_creation(self): creationDate = timezone.now() 

RunTimeWarning: DateTimeField Cart.creationDate recibió una fecha de vencimiento (2016-06-03 08: 46: 34.829000) mientras el soporte de zona horaria está activo.

EDITAR:

¿Tengo este error ahora y parece un error de fecha y hora?

  updated = self._save_table(raw, cls, force_insert, force_update, using, upda te_fields) File "C:\Python27\lib\site-packages\django-1.9.5-py2.7.egg\django\db\models\ba se.py", line 820, in _save_table result = self._do_insert(cls._base_manager, using, fields, update_pk, raw) File "C:\Python27\lib\site-packages\django-1.9.5-py2.7.egg\django\db\models\ba se.py", line 859, in _do_insert using=using, raw=raw) File "C:\Python27\lib\site-packages\django-1.9.5-py2.7.egg\django\db\models\ma nager.py", line 122, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "C:\Python27\lib\site-packages\django-1.9.5-py2.7.egg\django\db\models\qu ery.py", line 1039, in _insert return query.get_compiler(using=using).execute_sql(return_id) File "C:\Python27\lib\site-packages\django-1.9.5-py2.7.egg\django\db\models\sq l\compiler.py", line 1059, in execute_sql for sql, params in self.as_sql(): File "C:\Python27\lib\site-packages\django-1.9.5-py2.7.egg\django\db\models\sq l\compiler.py", line 1019, in as_sql for obj in self.query.objs File "C:\Python27\lib\site-packages\django-1.9.5-py2.7.egg\django\db\models\sq l\compiler.py", line 958, in prepare_value value = field.get_db_prep_save(value, connection=self.connection) File "C:\Python27\lib\site-packages\django-1.9.5-py2.7.egg\django\db\models\fi elds\__init__.py", line 728, in get_db_prep_save prepared=False) File "C:\Python27\lib\site-packages\django-1.9.5-py2.7.egg\django\db\models\fi elds\__init__.py", line 1461, in get_db_prep_value value = self.get_prep_value(value) File "C:\Python27\lib\site-packages\django-1.9.5-py2.7.egg\django\db\models\fi elds\__init__.py", line 1440, in get_prep_value value = super(DateTimeField, self).get_prep_value(value) File "C:\Python27\lib\site-packages\django-1.9.5-py2.7.egg\django\db\models\fi elds\__init__.py", line 1296, in get_prep_value return self.to_python(value) File "C:\Python27\lib\site-packages\django-1.9.5-py2.7.egg\django\db\models\fi elds\__init__.py", line 1399, in to_python parsed = parse_datetime(value) File "C:\Python27\lib\site-packages\django-1.9.5-py2.7.egg\django\utils\datepa rse.py", line 93, in parse_datetime match = datetime_re.match(value) TypeError: expected string or buffer 

La siguiente línea crea una fecha y hora ingenua (sin huso horario):

 creationDate = datetime.datetime.now() 

Intenta cambiar esa línea a:

 creationDate = timezone.now() 

No te olvides de importar la timezone al principio de tu código:

 from django.utils import timezone