首页 > 解决方案 > 在 Admin 中创建父模型时向相关模型添加新行

问题描述

我有添加产品的模型。产品的名称有多种语言,因此我使用“名称”模型进行了多对多推理。

这是我的模型

class Product(models.Model):
    active = models.BooleanField()

class ProductName(models.Model):
    productName = models.CharField(max_length=250)
    product = models.ForeignKey('Product', on_delete=models.CASCADE)
    language = models.ForeignKey('Language', on_delete=models.CASCADE)

    def __str__(self):
        return self.productName

class Language(models.Model):
    language = models.CharField(max_length=55)
    languageAbbreviation = models.CharField(max_length=10)

    def __str__(self):
        return self.language

现在在 mysite 的管理页面中,我想在创建产品时添加产品名称。我尝试了一些关于“admin.TabularInline”的可悲尝试。但我认为这是错误的,因为没有什么可以解决的。

非常感谢任何有关如何解决此问题的建议!

标签: djangopython-3.xdjango-models

解决方案


像这样的模型管理员:

class ProductAdmin(admin.ModelAdmin):
    class ProductNameInline(admin.TabularInline):
        model = ProductNameInline
        fields = ['productName', 'language']

    model = Product
    inlines = [ProductNameInline]

应该为您提供一个允许您设置产品名称的页面。确保所有必要的 javascript 静态文件都可用。


推荐阅读