我试图找到一种方法一次添加/编辑两个模型。即:
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字段应链接到填充的规范。
答案 0 :(得分:2)
在您的管理员中尝试此操作:
class DesktopInline(admin.StackedInline):
model = Desktop
extra = 1
class SpecsAdmin(admin.ModelAdmin):
inlines = [DesktopInline,]
admin.site.register(Specs, SpecsAdmin)
看看the docs