【发布时间】:2018-04-11 09:59:53
【问题描述】:
您好,我不知道如何将两个字段模型转换为一个“自定义”以提出一个唯一字段(将 ('fieldA','fieldB') 传递给 ('fieldA fieldB')。
我正在尝试构建一个内部模型函数,但没有异常结果...
models.py
class Referencebank(models.Model):
idtable1 = models.AutoField(db_column='idtable1', primary_key=True)
genus = models.CharField(max_length=45, blank=True, null=True)
species = models.CharField(max_length=45, blank=True, null=True)
subspecies = models.CharField(max_length=45, blank=True, null=True)
def getScientifName(self):
return str(self.genus) + " " + str(self.species);
class Meta:
managed = False
db_table = 'table1'
forms.py
class ScientifNameForm(forms.Form):
for ref in Referencebank.objects.all():
queryset = ref.getScientifName();
print("\n queryset")
scientifName = forms.ModelChoiceField(queryset=Referencebank.objects.values_list('genus','species').order_by('genus').distinct(),
empty_label="(Nothing)",
required=False,
help_text="Select the bacteria",label='Scientific Name')
在 forms.py 中,for 循环正确执行我希望在模型选择字段中显示的结果
我想要这样的东西
scientifName = forms.ModelChoiceField(queryset=Referencebank.objects.values_list('scientificName').order_by('scientificN').distinct(),
empty_label="(Nothing)",
required=False,
help_text="Select the bacteria",label='Scientific Name')
【问题讨论】:
-
在模型本身上定义
__str__并使用queryset=Referencebank.objects.all()会更容易吗?
标签: python django python-3.x django-models django-forms