使用:Django的1.8和Python 3.4嵌套多对多场在Django
我有以下型号:
class SpaCenter(models.Model):
name = models.CharField(max_length=100)
website = models.CharField(max_length=200)
facebook_url = models.CharField(max_length=200)
faq = models.ManyToManyField(SpaCenterFAQ)
class SpaCenterFAQ(models.Model):
pass
class SpaCenterFAQLanguage(models.Model):
faq = models.ForeignKey(SpaCenterFAQ)
faq_language = models.CharField(max_length=2,
choices=LANGUAGE_CHOICES,
default=ENGLISH)
faq_question = models.CharField(max_length=200)
faq_answer = models.TextField()
总结:
- 每个SpaCenter可以multipe常见问题
- 每个FAQ都可以属于多个Spa中心
- 每个FAQ都需要在多个语言,因此SpaCenterFAQL语言模型处理语言翻译
使用Django内置管理界面我希望能够在SpaCenter管理界面中输入常见问题解答的所有不同翻译。
所以基本上这是一个嵌套的关系,我知道这个线程:
除了这两个试图解决这个问题,这些社区创建的应用程序的:
但是,我仍然在努力了解如何在Django Admin中定义这一点,即使在使用这些库时也是如此。
需要帮助了解这种关系如何显示在SpaCenter的管理界面中。
非常感谢。
编辑:
- 的SpaCenterFAQ模型没有因为处理语言附表的领域。例如:一个spacenter可以有几个常见问题解答。但是,每个FAQ都需要使用多种语言。
对不起,jumpted定论为时尚早 - 这个工作对我的模型的另一部分,其中有2个外键关系。因此,如果一个SpaCenter可以有多个常见问题解答,但每个常见问题解答只能有一个水疗中心 - 那么您的代码就是事实。 但是,这里的问题是多对多,所以我假设某处必须有一个.through参数 – Aivoric
model = SpaCenter.faq.through – delta32
,这是行不通的... – Aivoric