在django中创建字段列表

时间:2013-03-11 21:17:38

标签: python django

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

    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']的东西,我希望能够像上面那样打印它。

任何人都可以帮忙吗?

提前致谢! :)

2 个答案:

答案 0 :(得分:3)

您应该将字段类型从ForeignKey更改为ManyToMany,然后尝试以下内容:

', '.join(unicode(x) for x in self.foreign_languages.all())

答案 1 :(得分:0)

为此,我担心您需要覆盖 setaddr

SETATTR“> HTTP://docs.python.org/2/reference/datamodel.html#object的 SETATTR

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