【发布时间】:2015-11-10 16:19:11
【问题描述】:
有没有办法在 admin.py 中的admin.site.register() 中使用多个 Django 扩展?我正在使用“simple-history”和“import-export”扩展,但我只能在admin.site.register() 中使用其中一个。
示例:我有一个名为“Cars”的模型,它使用“simple-history”扩展名,所以我需要admin.site.register(Cars, SimpleHistoryAdmin),正如他们的文档所说的那样。我也想对同一个“汽车”模型使用导入/导出扩展,但 admin.site.register() 不需要多个参数来添加它。
models.py
class Cars(models.Model):
Year = models.CharField(max_length=30)
Make = models.CharField(max_length=30)
Model = models.CharField(max_length=30)
history = HistoricalRecords()
class Meta:
verbose_name_plural = "Car Table"
def __str__(self):
return self.Make
admin.py
class CarResource(resources.ModelResource):
class Meta:
model = Cars
fields = ('id','Year', 'Make', 'Model',)
class CarAdmin(ImportExportModelAdmin):
resource_class = CarResource
pass
#I want to use the import/export extension (code above), along with simple-history
admin.site.register(Cars, CarAdmin)
admin.site.register(Cars, SimpleHistoryAdmin)
我尝试过使用代理和内联,但是代理创建了一个我不想要的新模型,并且在使用内联时我收到一个错误,说它需要外键,但我不想得到来自不同模型的模型对象。将它们命名为相同的模型不起作用,因为模型已经注册。非常感谢任何帮助!
【问题讨论】:
标签: python django django-admin django-extensions