在Admin中创建父模型时向相关模型添加新行

时间:2018-11-06 21:53:46

标签: django python-3.x django-models

我有添加产品的模型。产品的名称有几种语言,因此我使用“名称”模型进行了多次升级。

这是我的模特

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'的事情,尝试了一些不愉快的尝试。但是我认为这是错误的,因为与此无关。

任何有关如何解决此问题的建议,将不胜感激!

1 个答案:

答案 0 :(得分:1)

这样的模型管理员:

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

    model = Product
    inlines = [ProductNameInline]

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