型号:
class Company(models.Model):
id = models.AutoField(primary_key = True)
name = models.CharField(max_length = 30)
parent = models.ForeignKey('self', null=True, blank=True)表格:
class CompanyForm(forms.ModelForm):
class Meta:
model = Company
fields = ['name', 'parent']当我查看表单的“父”下拉列表时,我得到了一个对象列表:
我希望在下拉列表中显示对象的名称:
我需要添加哪些代码行?
发布于 2015-07-15 10:20:10
您必须实现__unicode__遗留方法,或者如果您是最新的,您将实现__str__方法,将类装饰为python2compatible 在django 1.11文档中看到
from django.utils.encoding import python_2_unicode_compatible
@python_2_unicode_compatible
class Company(models.Model):
id = models.AutoField(primary_key = True)
name = models.CharField(max_length = 30)
parent = models.ForeignKey('self', null=True, blank=True)
def __str__(self):
return '%s' % self.name在2019年,您可能/希望在python3中开始您的项目,并且能够省略所有python2/3兼容性的内容。
发布于 2017-10-15 18:10:25
在这个岗位上的处理方式有点不同。在这里,他们将类的str属性设置为要显示的字段的值。不过,不确定这是否有副作用。
https://stackoverflow.com/questions/31427361
复制相似问题