1

我需要创建一个包含列表的模型。这就是我到现在为止的距离

    class Language(models.Model):
      name = models.TextField()
      def __str__(self):
         return self.name
      def __unicode(self):
         return self.name

    class Education(models.Model):
      mother_language = models.TextField()
      foreign_languages = models.ForeignKey(Language)
      def __str__(self):
         return self.mother_language # + ' ' + list_of_self.foreign_languages
      def __unicode__(self):
         return self.mother_language # + ' ' + list_of_self.foreign_languages

我想要的是写类似 foreign_languages=['English', 'German'] 的东西,我希望能够像上面那样打印它。

有人能帮忙吗?

提前致谢!:)

4

2 回答 2

3

您应该将字段类型从更改ForeignKeyManyToMany,然后尝试类似:

', '.join(unicode(x) for x in self.foreign_languages.all())
于 2013-03-11T21:22:48.273 回答
0

为此,恐怕您需要覆盖setaddr

setattr ">http://docs.python.org/2/reference/datamodel.html#object.setattr

您需要检查正在设置的属性,除了“语言”之外,在所有情况下基本上什么都不做,您必须遍历列表,在模型中添加缺少的语言,然后将它们添加到类中。

于 2013-03-11T21:33:35.720 回答