В этой модели:как получить последний в Джанго модели
class Rank(models.Model):
User = models.ForeignKey(User)
Rank = models.ForeignKey(RankStructure)
date_promoted = models.DateField()
def __str__(self):
return self.Rank.Name.order_by('promotion__date_promoted').latest()
Я получаю сообщение об ошибке:
Exception Value:
'str' object has no attribute 'order_by'
Я хочу последний ранг по умолчанию. Как это установить?
Спасибо.
Update # 1
Добавлен ранг Структура
class RankStructure(models.Model):
RankID = models.CharField(max_length=4)
SName = models.CharField(max_length=5)
Name = models.CharField(max_length=125)
LongName = models.CharField(max_length=512)
GENRE_CHOICES = (
('TOS', 'The Original Series'),
('TMP', 'The Motion Picture'),
('TNG', 'The Next Generation'),
('DS9', 'Deep Space Nine'),
('VOY', 'VOYAGER'),
('FUT', 'FUTURE'),
('KTM', 'KELVIN TIMELINE')
)
Genre = models.CharField(max_length=3, choices=GENRE_CHOICES)
SPECIALTY_OPTIONS = (
('CMD', 'Command'),
('OPS', 'Operations'),
('SCI', 'Science'),
('MED', 'Medical'),
('ENG', 'Engineering'),
('MAR', 'Marine'),
('FLT', 'Flight Officer'),
)
Specialty = models.CharField(max_length=25, choices=SPECIALTY_OPTIONS)
image = models.FileField(upload_to=image_upload_handler, blank=True)
Это Rank_structure ссылается Rank в классе Rank. Внешний ключ пользователя находится в стандартной таблице пользователя.
Что значит последний 'Ранг'? Это невозможно с вашей нынешней структурой, которую вы предоставили. Объект «Ранг» имеет только одну «RankStructure», но «RankStructure» имеет много «Рангов» –
ok. У меня есть таблица для RankStructure и таблица для пользователя. Их много, поэтому я создал Ранг. Ранг добавляет дату с использованием date_promoted. Поэтому, когда я получаю Пользователь, и я вызываю User.rank, мне нужен последний Ранг. – arcee123
Пожалуйста, добавьте модели пользователя и RankStructure –