Ich versuche, das Versionsfeld andere aus dem unten Modell angezeigt werden als der Standard str die field2_name ist:Anzeigefeld anders als __str__
Hinweis: Diese SO Link Displaying a specific field in a django form könnte mehr sein, als ich brauche, aber ich bin nicht 100% sicher. Ich habe versucht, dies umzusetzen, war aber nicht erfolgreich.
Beachten Sie auch, dass ich das Beispiel bei https://docs.djangoproject.com/en/1.10/ref/forms/fields/ versucht, aber war nicht in der Lage, es zu bekommen
Modell (Generic-Namen) zu arbeiten:
class CodeVersion(models.Model):
field1= models.ForeignKey(SomeOtherModel, on_delete=models.CASCADE)
field2_name = models.CharField(max_length=256)
field3_description = models.CharField(max_length=1000, blank=True)
version = models.PositiveIntegerField()
def __str__(self):
return self.field2_name
Form:
class VersionsForm(forms.Form):
code_versions = forms.ModelChoiceField(queryset=CodeVersion.objects.none())
def __init__(self, SomeOtherModel_id):
super(VersionsForm, self).__init__()
self.fields['infocode_versions'].queryset = CodeVersion.objects.filter(SomeOtherModel_id=SomeOtherModel_id)
Dies funktioniert - es gibt field2_name zurück, wie es soll.
Wie kehre ich Version statt - was ist die einfachste Art und Weise?
Jede Hilfe oder Anleitung wird geschätzt.
Vielen Dank für die Beantwortung :) Leider kann ich nicht die str für dieses Modell ändern. – beginAgain
Sie könnten dann ModelChoiceField erben und überschreiben label_from_instance Methode – iklinac
Danke - ich werde weiter suchen heute in zu label_from_instance und Ihre Ideen. – beginAgain