2013-03-11 43 views
1

我需要創建一個包含列表的模型。這是我在多大程度上得到了至今在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 = [「英語」,「德」],我希望能夠打印出來像上面。

任何人都可以幫忙嗎?

在此先感謝! :)

回答

3

你應該從ForeignKey字段類型更改爲ManyToMany,然後嘗試類似:

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

謝謝你,我沒有設法做到這一點,這有幫助! :) – ssuljic 2013-03-19 21:19:48

0

對此,我怕你會需要重寫setaddr

SETATTR「> HTTP ://docs.python.org/2/reference/datamodel.html#object。setattr

您需要檢查正在設置的屬性,bas除了「語言」之外,在所有情況下都不做任何事情,在這種情況下,您必須迭代列表,在模型中添加缺少的語言,然後將它們添加到類中。

相關問題