Найти - Пользователи
Полная версия: __unicode__
Начало » Django » __unicode__
1 2
Rebra4
class Category(models.Model):
  name_category=models.CharField(max_length=15,verbose_name='Name')
  yes_category=models.NullBooleanField(verbose_name='Name2')
  def __unicode__(self):
    return self.name_category
class CategoryGo(models.Model):
  option=models.ForeignKey(Category)
  name_category=models.CharField(max_length=15)
  yes_category=models.BooleanField()
  def __unicode__(self):
    return self.name_category+'+'+self.option

Можна ли сделать чтобы не возникало ошибки с self.option?
FishHook
Какая ошибка возникает тебе западло сказать, да?


P.S. можно,
return self.name_category+ '+'  +self.option if self.option else ""
Rebra4
Вот оно coercing to Unicode: need string or buffer, Category found
N..E.M
тогда
return self.name_category+ '+'  +self.option.name_category if self.option else ""
Rebra4
Спасибо работает
ilnur
имхо, лучше так
return u'{0} {1}'.format(self.name_category, self.option)

option у CategoryGo обязательный же параметр, зачем его проверять?
FishHook
ilnur
имхо, лучше так
print u'{0} {1}'.format("cccd", None)
>>> cccd None
негуд же
ilnur
option не None же?. он же обязательный?
FishHook
ilnur
option не None же?. он же обязательный?
А что там у него __unicode__ возвращает мы не знаем, вдруг None
ilnur
ну тогда давайте проверять результат каждого метода, и будет куча ифов.
это уже проблемы Category.
имхо.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB