动态ModelMultipleChoiceField

时间:2013-04-23 13:48:13

标签: python django django-models

我有一个包含不同工作类型及其ID的数据表。我想把所有类型都显示为broswer中的mMltipleChoiceField,所以我尝试了

 keyword=forms.ModelMultipleChoiceField(required=False, queryset=JobGenre.objects.all())

它不会显示工作类型,而是在所有选项中显示“JobGenre.object”。在这种情况下我该怎么做?

我从选择一个jobgenre得到的错误:'我必须选择至少一个选项,似乎必需= False不起作用

  ValueError at /register/
  Cannot assign "[<JobGenre: rengøring>]": "Worker.keyword" must be a "JobGenre" instance.


 Request Method:

 POST
 Request URL:

 http://127.0.0.1:8000/register/



 Django Version:

  1.4.3

异常类型:

ValueError异常

 Exception Value:

 Cannot assign "[<JobGenre: rengøring>]": "Worker.keyword" must be a "JobGenre" instance. 


 Exception Location:

 C:\Python27\lib\site-packages\django\db\models\fields\related.py in __set__, line 366



 Python Executable:

 C:\Python27\python.exe



 Python Version:

 2.7.3

1 个答案:

答案 0 :(得分:2)

您在JobGenre上定义了__unicode__吗?

class JobGenre(models.Model):

    name = models.CharField()

    def __unicode__(self):
        return self.name