Django 将多个模型添加到inlineformset_工厂
我有一个像下面这样的模型Django 将多个模型添加到inlineformset_工厂,django,foreign-keys,django-forms,Django,Foreign Keys,Django Forms,我有一个像下面这样的模型 class Content(SimpleModel): title = models.CharField(max_length=255) body = models.TextField() slug = models.SlugField(max_length=50) def __unicode__(self): return self.title class MediumStuff(models.Model)
class Content(SimpleModel):
title = models.CharField(max_length=255)
body = models.TextField()
slug = models.SlugField(max_length=50)
def __unicode__(self):
return self.title
class MediumStuff(models.Model):
meta_value = models.TextField()
meta_key = models.SlugField('Field Name', max_length=50, blank=True)
content = models.ForeignKey(Content)
def __unicode__(self):
return self.slug
class SmallStuff(models.Model):
text = models.CharField(max_length=60, blank=True, null=True)
content = models.ForeignKey(Content)
我想做的是使用inlineformset\u factory()
我提到过,但他们有一个如何使用单外键模型的示例
ContentFormSet=inlineformset\u工厂(内容,[MediumStuff,SmallStuff])
也不是
ContentFormSet=inlineformset\u工厂(Content,(MediumStuff,SmallStuff))
没用
由于可以向admin添加多个内联线,我相信这是可以做到的:)
你有什么建议/资源或建议吗?
或者告诉我应该在哪里查看admin如何处理多个内联线?只需为每个相关模型创建一个内联线:
MediumStuffInline=inlineformset\u工厂(内容,MediumStuff)
smallstuffline=inlineformset\u工厂(内容,SmallStuff)
看看管理员是怎么做的。每个内联由InlineModelAdmin
[1]的子类处理。内联本身是在get\u formset()
方法[2]上创建的
查看有关如何在视图中使用多个表单集的文档[3][4]
[1]
[2]
[3]
[4] 这太有帮助了,我会尝试一下,看看django admin是如何工作的!!!非常感谢,伊戈尔!