在下面的代码中,我试图让所有者表单带有一个下拉菜单,其中包含来自Car模型的汽车品牌作为选择。我确实得到了下拉菜单,但每个元素都列为“Car object”,而不是品牌。如何将Car车型中的品牌带入菜单?感谢。
models.py
from django.db import models
class Car(models.Model):
brand = models.CharField(max_length=20)
class Owner(models.Model):
name = models.CharField(max_length=20)
car_brand = models.ForeignKey(Car)
forms.py
from django.forms import ModelForm, ModelChoiceField
from app.models import Owner
class OwnerForm(ModelForm):
car_brand = ModelChoiceField(queryset=Car.objects.all())
class Meta():
model = Owner
答案 0 :(得分:2)
在模型定义中添加__unicode__
函数。
class Car(models.Model):
brand = models.CharField(max_length=20)
def __unicode__(self):
return u'%s' % (self.brand)
这样您就可以控制要显示的内容
答案 1 :(得分:0)
非常感谢分享这个,它帮助了我!在Django 1.8中,尝试: brand = models.ForeignKey(Car)
不要将car_放在外键前面