I am having trouble pickling, and then saving to the DB, django models
with Unicode text in them. The site is for Spanish speakers, so we
need our ñs, és and ös.

I implemented an unlimited undo feature for a Django site, using this
PickleField snippet:

http://www.djangosnippets.org/snippets/513/.

I created a model that holds each object's state at a certain
datetime, like so:

from fields import PickledObjectField

class UndoRecord(models.Model):
    user = models.ForeignKey(User)
    pickle = PickledObjectField()
    date = models.DateTimeField(auto_now_add=True)

and then in my views, whenever a user changes something, I save an
UndoRecord like so:

undo = UndoRecord(user=request.user, pickle=obj)
undo.save()

This works fine, except when the object that I am saving has non-ASCII
characters in it, which case I get a lovely:

DjangoUnicodeDecodeError: 'utf8' codec can't decode bytes in position
372-373: invalid data. You passed in "crbml_core.models\nMusico\np1\n
(tRp2\n(dp3\nS'foto'\np4\nccopy_reg\n_reconstructor\np5\n
(cdjango.db.models.fields.files\nImageFieldFile\np6\nc__builtin__
\nobject\np7\nNtRp8\n
(dp9\nS'_committed'\np10\nI01\nsS'_file'\np11\nNsS'name'\np12\nVuploads/
musicos/235470296_54ae5af3e9_o.jpg
\np13\nsS'closed'\np14\nI00\nsbsS'user_id'\np15\nNsS'visible'\np16\nI1\nsS'influencias'\np17\nVFaith
No More\np18\nsS'nombre'\np19\nV\xd1\xed\xfa\xf6\np20\nsS'id'\np21\nL2L
\nsb." (<class 'rbml_core.fields.PickledObject'>)

I have been trying to fix this using the approach show here:
http://www.mail-archive.com/django-users@googlegroups.com/msg67883.html,
but no such luck.

Unicode errors are my particular achilles' heel, so any help is much
appreciated.
--~--~---------~--~----~------------~-------~--~----~
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