Администрация сайта django (ввод данных по графику) - PullRequest
0 голосов
/ 27 октября 2010

У меня есть сайт Django. фрагмент myapp / models.py выглядит следующим образом:

class Continent(models.Model):
    name = models.CharField(max_length=128, db_index=True, unique=True)


class GeographicRegion(models.Model):
    continent = models.ForeignKey(Continent, null=False)
    name =  models.CharField(max_length=128, null=False)

Когда я пытаюсь добавить новые географические регионы, когда я щелкаю раскрывающийся список (выберите элемент управления), чтобы выбрать континент, единственными значениями (параметрами) в раскрывающемся списке являются:

continent object
continent object
continent object
continent object
continent object
continent object

Вместо этого я ожидал увидеть названия континентов, чтобы создать соответствующие географические регионы для каждого континента. Как получить имя для отображения в списке вместо «континентальный объект»?

Подсказка: я добавил str (self) и repr (self) методы к моей модели ContinentAdmin в myapp / admin.py следующим образом:

MyApp / admin.py

 58 class ContinentAdmin(admin.ModelAdmin):
 59    def __repr__(self):
 60        return self.name
 61 
 62 admin.site.register(Continent,ContinentAdmin)

, однако это не имело (наблюдаемого) эффекта

1 Ответ

2 голосов
/ 27 октября 2010

Вам необходимо определить __unicode__ метод в модели:

def __unicode__(self):
  return self.name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...