我試圖從不是缺省STR這是field2_name其他下面的模型顯示版本字段:比其他的顯示領域__str__
注:本SO鏈接Displaying a specific field in a django form可能會比我更需要,但我不是100%確定的。我試圖實現這一點,但沒有成功。
另外請注意,我試過的例子在https://docs.djangoproject.com/en/1.10/ref/forms/fields/但無法得到它的工作
模型(通用名):
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
形式:
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)
該作品 - 它應該返回field2_name。
我該如何返回版本 - 最簡單的方法是什麼?
任何幫助或指導表示讚賞。
感謝您回覆:)不幸的是我無法改變的STR這種特殊的模式。 – beginAgain
然後,您可以繼承ModelChoiceField並覆蓋label_from_instance方法 – iklinac
謝謝 - 我今天將繼續討論label_from_instance和您的想法。 – beginAgain