考虑以下代码:
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字段? 我尝试过在其他线程中建议的解决方案,但没有一个工作。
非常感谢你的帮助
答案 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 }}