Я работаю над приложением Django для размещения мультимедиа (особенно аудио и изображений). У меня есть отдельные галереи изображений и фотографии в моей модели, и они связаны с ForeignKey
(не уверен, что это правильно, но все еще учусь). Мне нужно, чтобы класс Album __unicode__
возвратил имя пользователя владельца альбома.
class Album(models.Model):
artist = models.ForeignKey(User, unique=True, related_name='artpunk')
def __unicode__(self):
return self.artist.username
Я знаю, что свойство username существует, и подтвердил его, вставив dir()
и проверив вывод консоли. Проблема в том, что когда я вхожу в раздел изображений на панели администратора, он просто заявляет «Нераспознанная команда». Могут ли User
свойства не быть доступными для моделей? Или я что-то не так делаю?
РЕДАКТИРОВАТЬ: Забыл упомянуть, используя Python 2.6 с Django 1.0.2. Точный текст ошибки, как и выше, просто "Нераспознанная команда" выделен жирным шрифтом, и я уже выполнил syncdb
без проблем. Тем не менее, сегодня утром я перезапустил syncdb
(ничего не выдал), просто чтобы повторить попытку, и теперь, похоже, все работает нормально.
Воспроизводится путем изменения следующего:
def __unicode__(self):
return self.artist.username
Примерно так:
def __unicode__(self):
return self.artist.username+'\'s Gallery'