在我的管理控制台中使用多个内联时遇到了一些麻烦,超过了 3 个我正在玩的模型。
楷模:
class carManufacturer(models.Model):
name = models.CharField(max_length=200)
country = models.CharField(max_length=200)
description = models.CharField(max_length=1000)
def __unicode__(self):
return self.name
class vehicleModel(models.Model):
carManufacturer = models.ForeignKey(carManufacturer)
model = models.CharField(max_length=200)
def __unicode__(self):
return self.model
class vehicleCode(models.Model):
vehicleModel = models.ForeignKey(vehicleModel)
variantCode = models.CharField(max_length=200)
variantBadge = models.CharField(max_length=200)
manuStart = models.DateTimeField('Manufacture Start Date')
manuFin = models.DateTimeField('Manufacture End Date')
def __unicode__(self):
return self.variantCode
我想要做的是当我添加汽车制造商时,我可以通过我的内联添加汽车模型,当我编辑模型时,我可以通过另一个内联编辑车辆代码/变体。
我有一个正在使用的 admin.py 文件:
from Cars.models import carManufacturer, vehicleModel, vehicleCode
from django.contrib import admin
class modelInline(admin.TabularInline):
model = vehicleModel
extra = 0
class codeInline(admin.TabularInline):
variantCode = vehicleCode
extra = 0
class CarAdmin(admin.ModelAdmin):
fields = ['name', 'description', 'country']
inlines = [modelInline]
class VehicleModelAdmin(admin.ModelAdmin):
fields = ['carManufacturer','model']
#inlines = [codeInline]
admin.site.register(carManufacturer, CarAdmin)
admin.site.register(vehicleModel, VehicleModelAdmin)
一旦我取消注释我的第二个内联,它使用与第一个相同的方法,我就会收到以下错误:
'model' 是 'VehicleModelAdmin.inlines[0]' 的必需属性。
我很难理解我做错了什么,特别是因为我已经完成了第一个内联工作,任何输入都将不胜感激