Hello,

first of all, congratulations!

I have a problem. When trying to open template I get following error:

Original Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/django/template/debug.py",
line 71, in render_node
    result = node.render(context)
  File "/usr/lib/python2.5/site-packages/django/template/
defaulttags.py", line 206, in render
    val1 = self.var1.resolve(context, True)
  File "/usr/lib/python2.5/site-packages/django/template/__init__.py",
line 546, in resolve
    obj = self.var.resolve(context)
  File "/usr/lib/python2.5/site-packages/django/template/__init__.py",
line 687, in resolve
    value = self._resolve_lookup(context)
  File "/usr/lib/python2.5/site-packages/django/template/__init__.py",
line 722, in _resolve_lookup
    current = current()
  File "/home/user/django_projects/bis/bis/../bis/Log/models.py", line
124, in deserialized_object
    for obj in serializers.deserialize("xml", self.data):
  File "/usr/lib/python2.5/site-packages/django/core/serializers/
xml_serializer.py", line 128, in next
    for event, node in self.event_stream:
  File "/usr/lib/python2.5/xml/dom/pulldom.py", line 232, in next
    rc = self.getEvent()
  File "/usr/lib/python2.5/xml/dom/pulldom.py", line 265, in getEvent
    self.parser.feed(buf)
  File "/usr/lib/python2.5/xml/sax/expatreader.py", line 207, in feed
    self._parser.Parse(data, isFinal)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u0142' in
position 154: ordinal not in range(128)

I use latest SVN version (1.1) revision 11367. I have # -*- coding:
utf-8 -*-  line at the beginning of the file, and __unicode__ method
is set on the model, which I serialize and on Log model as well.

My serialization:

    [ some model ... ]

def save(self, force_insert=False, force_update=False):
        super(Record,self).save(force_insert, force_update)
        data_xml = serializers.serialize("xml", Record.objects.filter
(id=self.id))
        Log.objects.create(user=user, action="zapis", type="Record",
              object=self.id, data=data_xml)

Deserialization:

    [ my model: Log ... ]

    def deserialized_object(self):
        for obj in serializers.deserialize("xml", self.data):
            return obj.object   [1]

[1] There is only one object so I use return on the first try.

My template:

{% ifnotequal log.deserialized_object.value
log.previous.deserialized_object.value %}
    something
 {% endifnotequal %}

It doesn't matter how do I put data to database: manually using create
() or via form.save(), and it is in UTF-8. In addition I don't have
any problems with database and unicode in other parts of my project,
only during this deserialization.

I tried to pass data to deserializer after using force_unicode, but
the result is the same.

I would appreciate any help.

Best regards,
Luke
--~--~---------~--~----~------------~-------~--~----~
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