我有这样的模特:
class IdfPracownicy(models.Model):
nazwa = models.CharField(max_length=100)
class IdfPracaOpinie(models.Model):
nazwa = models.CharField(max_length=30)
class IdfPraca(models.Model):
numer_idf = models.ForeignKey(IdfPracownicy)
[...]
opinia = models.ForeignKey(IdfPracaOpinie)
uwagi = models.TextField()
data_wpisu = models.DateTimeField(auto_now=True)
我创建了这样的表单:
class IdfPracaForm(forms.ModelForm):
numer_idf = forms.ModelChoiceField(queryset=IdfPracownicy.objects.all(), widget=forms.HiddenInput)
opinia = forms.ModelChoiceField(queryset=IdfPracaOpinie.objects.all(),empty_label=None)
class Meta:
# Nazwa modelu
model = IdfPraca
当我在浏览器中显示此表单时,<option>
标记会显示如下对象实例:
<select name="opinia" id="id_opinia">
<option value="1">IdfPracaOpinie object</option>
<option value="2">IdfPracaOpinie object</option>
<option value="3">IdfPracaOpinie object</option>
<option value="4">IdfPracaOpinie object</option>
</select>
而不是字段“纳兹瓦”的价值观。我做错了什么?
答案 0 :(得分:1)
在__unicode__
模型上实施IdfPracaOpinie
方法,如下所示:
class IdfPracaOpinie(models.Model):
nazwa = models.CharField(max_length=30)
def __unicode__(self):
return self.nazwa
答案 1 :(得分:1)
为您的模型定义__unicode__
方法:
class IdfPracownicy(models.Model):
nazwa = models.CharField(max_length=100)
def __unicode__(self):
return self.nazwa