Форум сайта python.su
Здравствуйте, минут 40 листал результаты поисковой выдачи по __unicode__, но так и не смог решить проблему. У меня python 3.2
Итак, models.py
class Post(models.Model): heading = models.CharField("Заголовок", max_length=200) content = models.TextField("Содержание", max_length=2000) def __unicode__(self): return self.heading
E:\mysite\mysite>manage.py shell
>>> from blog.models import Post
>>> Post.objects.all()
[<Post: Post object>, <Post: Post object>]
>>>
It’s important to add __unicode__() methods to your models, not only for your own sanity when dealing with the interactive prompt, but also because objects’ representations are used throughout Django’s automatically-generated admin.,но никаких дополнительных манипуляций с кодом завершать не нужно, и в самом примере все выглядит прекрасно сразу после добавления __unicode__ в модель
class Poll(models.Model): # ... def __unicode__(self): return self.question
>>> from polls.models import Poll, Choice
# Make sure our __unicode__() addition worked.
>>> Poll.objects.all()
[<Poll: What's up?>]
Офлайн
>>>У меня python 3.2
ИМХО, рановато Вы Джангу под третьим питоном юзаете, нужно подождать до версии 1.6
Офлайн
Все-таки неправильно понял объяснения на stackoverflow. В python 3+ вместо __unicode__ используется __str__. В итоге имеем такой код:
class Post(models.Model): heading = models.CharField("Заголовок", max_length=200) def __str__(self): return self.heading
>>>from blog.models import Post
>>> Post.objects.all()
[<Post: ddddddd>, <Post: FOO>]
Офлайн