2014-02-20 66 views
0

在下面的代码中,我试图让所有者形成一个包含汽车品牌作为选项的下拉菜单。我确实得到了下拉菜单,但每个元素都列为“汽车物体”,而不是品牌。我如何从汽车模型中的品牌进入菜单?谢谢。Django从ForeignKey填充选项

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 

回答

2

添加__unicode__函数模型的定义。

class Car(models.Model): 
    brand = models.CharField(max_length=20) 

    def __unicode__(self): 
     return u'%s' % (self.brand) 

这样,您就可以控制要显示的内容

0

非常感谢分享这个,它帮助我!在Django 1.8,尝试: 品牌= models.ForeignKey(汽车)

不要把car_外键