🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.python
4 messages
4 total messages Started by Piotr Hosowicz Tue, 14 Apr 2009 13:49
Django / Python / PostgreSQL - Bad unicode data
#25992
Author: Piotr Hosowicz
Date: Tue, 14 Apr 2009 13:49
28 lines
1708 bytes
Witam,

Mam następujący problem - w przeglądarce wyświetla się prawidłowo, 
kodowanie jest UTF8. Jak próbuję na piechotkę zrobić, to po 
zaimportowaniu modułów robię:

 >>> person = Person(pk = 67)
 >>> addr = Address(pk = 1)
 >>> link = PersonAddresses.objects.filter(person = person, address = addr)
 >>> link
[<PersonAddresses: [Bad Unicode data]>]

Klasa jest taka:

class PersonAddresses(models.Model):
     person = models.ForeignKey(Person)
     address = models.ForeignKey(Address)
     objects = PersonAddressesManager()
     def __unicode__(self):
         return "%s" % (self.address or "")
     def label(self):
         return "%s" % (self.address.label() or "")

Co to za błąd Bad unicode data? Skąd się bierze?

Pozdrawiam,

Piotr Hosowicz
Re: Django / Python / PostgreSQL - Bad unicode data
#25993
Author: Piotr Hosowicz
Date: Tue, 14 Apr 2009 13:51
17 lines
1385 bytes
Piotr Hosowicz wrote:
> Witam,
> 
> Mam następujący problem - w przeglądarce wyświetla się prawidłowo, 
> kodowanie jest UTF8. Jak próbuję na piechotkę zrobić, to po 
> zaimportowaniu modułów robię:
> 
>  >>> person = Person(pk = 67)
>  >>> addr = Address(pk = 1)

Aha, zapomniałem napisać - to jest wybrany rekord, gdzie w adresie 
występuje "ą". Dla adresów bez polskich znaków jest zgodnie z 
przewidywaniami OK.

Pozdrawiam,

Piotr Hosowicz
Re: Django / Python / PostgreSQL - Bad unicode data
#25994
Author: Darek
Date: Tue, 14 Apr 2009 17:41
26 lines
1923 bytes
On Apr 14, 3:51 pm, Piotr Hosowicz <adresat.nieprawidlow...@op.pl>
wrote:
> Piotr Hosowicz wrote:
> > Witam,
>
> > Mam następujący problem - w przeglądarce wyświetla się prawidłowo,
> > kodowanie jest UTF8. Jak próbuję na piechotkę zrobić, to po
> > zaimportowaniu modułów robię:
>
> >  >>> person = Person(pk = 67)
> >  >>> addr = Address(pk = 1)
>
> Aha, zapomniałem napisać - to jest wybrany rekord, gdzie w adresie
> występuje "ą". Dla adresów bez polskich znaków jest zgodnie z
> przewidywaniami OK.
>
> Pozdrawiam,
>
> Piotr Hosowicz

Masz metodę __unicode__ w klasie Address ? ..
W PersonAddresses.__unicode__()  wywołaj:
return self.address.__unicode__() or u""

A metoda __unicode__() w Address, np.:
return u"%s %d" % (self.street, self.number)
Re: Django / Python / PostgreSQL - Bad unicode data
#25995
Author: Darek
Date: Tue, 14 Apr 2009 17:44
13 lines
1721 bytes
>
> Masz metodę __unicode__ w klasie Address ? ..
> W PersonAddresses.__unicode__()  wywołaj:
> return self.address.__unicode__() or u""
>
> A metoda __unicode__() w Address, np.:
> return u"%s %d" % (self.street, self.number)

Jeszcze jedno, jesteś pewny, że w chwili wywołania korzystasz
niejawinie z metody __unicode__ ?
Zdefinuj w klasie także mtodę __str__() i spróbuj to samo, wywołując:
>> link
>> print link
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads