我需要创建一个包含列表的模型。这是我到现在为止的目标
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']的东西,我希望能够像上面那样打印它。
任何人都可以帮忙吗?
提前致谢! :)
答案 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 强>
您需要检查所设置的属性,除了“语言”之外基本上什么都不做,你必须遍历列表,在模型中添加缺少的语言,然后将它们添加到类。