ModelForm:显示外键字段

时间:2012-09-25 16:29:37

标签: django-forms

考虑以下代码:

models.py

class Manufacturers(models.Model):
    name = models.CharField(max_length=32)

class Cars(models.Model):
    producedby = models.ForeignKey(Manufacturers)

forms.py

class CreateCar(forms.ModelForm): 
    class Meta: 
        model = Cars

...在html页面上,“produceby”字段显示为“制造商对象”选项列表,这不是很有用,是否可以显示Manufacturer.name字段? 我尝试过在其他线程中建议的解决方案,但没有一个工作。

非常感谢你的帮助

2 个答案:

答案 0 :(得分:3)

我通过重载__str__方法并按如下方式返回名称来修复它:

class Manufacturers(models.Model):
    name = models.CharField(max_length=32)
    def __str__(self): return self.name

答案 1 :(得分:0)

这可能有点晚,但为了将来参考,我会通过将模板文件更改为:

来解决此问题
car_details.html

{{ CreateCarForm.instance.producedby.name }}