Hi,

I'm using django svn 10784, and I've just added django-reversion, latest svn 
version from trunk (198).  I'm using the middleware option for django-
reversion.

It's not working, and I'm getting the following error.  I've tried with the 
same django version and the tagged 1.1.1 release of django-reversion, but I 
get the same problem.

The error occurs on a save and is:


Traceback (most recent call last):

  File "/home/mybandsite/django-trunk/django/core/servers/basehttp.py", line 
278, in run
    self.result = application(self.environ, self.start_response)

  File "/home/mybandsite/django-trunk/django/core/servers/basehttp.py", line 
636, in __call__
    return self.application(environ, start_response)

  File "/home/mybandsite/django-trunk/django/core/handlers/wsgi.py", line 245, 
in __call__
    response = middleware_method(request, response)

  File "/home/mybandsite/src/reversion/middleware.py", line 23, in 
process_response
    reversion.revision.end()

  File "/home/mybandsite/src/reversion/revisions.py", line 263, in end
    serialized_data = serializers.serialize(registration_info.format, [obj], 
fields=registration_info.fields)

  File "/home/mybandsite/django-trunk/django/core/serializers/__init__.py", 
line 87, in serialize
    s.serialize(queryset, **options)

  File "/home/mybandsite/django-trunk/django/core/serializers/base.py", line 
44, in serialize
    self.handle_field(obj, field)

  File "/home/mybandsite/django-
trunk/django/core/serializers/xml_serializer.py", line 70, in handle_field
    self.xml.characters(field.value_to_string(obj))

  File "/home/mybandsite/django-trunk/django/db/models/fields/__init__.py", 
line 518, in value_to_string
    data = datetime_safe.new_date(val).strftime("%Y-%m-%d")

  File "/home/mybandsite/django-trunk/django/utils/datetime_safe.py", line 30, 
in new_date
    return date(d.year, d.month, d.day)

AttributeError: 'unicode' object has no attribute 'year'

I think this might be something to do with my MIDDLEWARE_CLASSES which is set 
to:

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.middleware.transaction.TransactionMiddleware',
    'reversion.middleware.RevisionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.doc.XViewMiddleware',
)

which doesn't match the recommendation from the django-reversion site.  I had 
to put the AuthenticationMiddleware first so that request.user was available 
for the RevisionMiddleware to use, and that dragged the SessionMiddleware in 
too.

Any clues anyone?

Thanks,

Tim.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to