Django Admin一次编辑多个模型

时间:2013-10-22 11:41:28

标签: python django

我试图找到一种方法一次添加/编辑两个模型。即:

class Desktop(models.Model):
    #some field...

    specs = models.ForeignKey(Specs)

class Specs(models.Model):
    cpu = models.CharField(max_length=200)
    #and some other fields

当我添加新桌面时,我希望能够同时添加规格。 使用普通的Django Admin,您将获得一个+符号,您可以添加ForeignKey的值。但是,当您想在编辑桌面时编辑外键时,您无法执行此操作。

UPDATE! 我添加了以下内容:

class ServerInLine(admin.StackedInLine): 
    model = Server 
    extra = 1  
class SpecsManager(admin.ModelAdmin): 
    inlines = [ServerInLine]

这使我能够在添加规范时添加服务器。但实际上我想在添加新服务器时添加规范。因此,当我添加新的服务器或桌面时,我想添加规范。然后,服务器和桌面中的specs字段应链接到填充的规范。

1 个答案:

答案 0 :(得分:2)

在您的管理员中尝试此操作:

 class DesktopInline(admin.StackedInline):
    model = Desktop
    extra = 1


class SpecsAdmin(admin.ModelAdmin):
    inlines = [DesktopInline,]
admin.site.register(Specs, SpecsAdmin)

看看the docs

相关问题