In diesem Modell:, wie die neuesten in django Modell erhalten
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()
ich den Fehler bekommen:
Exception Value:
'str' object has no attribute 'order_by'
ich den neuesten Rang als Standard verwendet werden soll. Wie stelle ich das ein?
Danke.
Update # 1
hinzugefügt Rang Struktur
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)
Dies ist der Rank_structure von Rang in Klasse Rang verwiesen. Der Benutzer Fremdschlüssel wechselt in die Standard-Benutzertabelle.
Was meinst du zuletzt 'Rank'? Es ist nicht möglich mit Ihnen aktuelle Struktur die Sie zur Verfügung gestellt haben. 'Rank' Objekt hat nur eine' RankStructure', aber 'RankStructure' hat viele' Rank's –
ok. Ich habe eine Tabelle für RankStructure und eine Tabelle für User. Sie sind viele zu viele, also baute ich Rank. Rank fügt das Datum hinzu, das mit date_promoted wirksam wird. Also, wenn ich einen User gebe und ich User.rank anrufe, möchte ich den neuesten Rank. – arcee123
Bitte fügen Sie Ihre User und RankStructure Modelle hinzu –