我正在尝试显示以下模型中的版本字段,而不是默认str字段2_name:
注意:此 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 。
我如何返回版本 - 最简单的方法是什么?
任何帮助或指导表示赞赏。