我想在管理面板中一起使用django-admin-sortable2 django-import-export包。下面是代码:
class University(models.Model):
name = models.CharField(max_length=50, help_text="University or Institution Name")
short_name = models.CharField(blank=True, max_length=10, help_text="University or Institution
Short Name")
order = models.PositiveIntegerField(
default=0,
blank=False,
null=False,
)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
def __str__(self):
return f'{self.id}-{self.name}'
class Meta:
ordering = ['order']
admin.py:
from import_export import resources
from import_export.admin import ImportExportModelAdmin
from adminsortable2.admin import SortableAdminMixin
# Register your models here.
class UniversityResource(resources.ModelResource):
class Meta:
model = University
exclude = ('created_at', 'updated_at',)
class UniveresityAdmin(ImportExportModelAdmin, SortableAdminMixin, admin.ModelAdmin):
resource_classes = [UniversityResource]
admin.site.register(University, UniveresityAdmin)
- 但这是行不通的**,如果我使用:
class UniveresityAdmin(ImportExportModelAdmin, SortableAdminMixin, admin.ModelAdmin):
resource_classes = [UniversityResource]
控制台:
failed to assign change_list_template attribute (see issue 1521)
这是输出:
如果我使用:
class UniveresityAdmin(ImportExportModelAdmin, SortableAdminMixin,):
这规定:
如果我使用:
class UniveresityAdmin(SortableAdminMixin, ImportExportModelAdmin,):
这规定:
TypeError at /admin/core/university/
join() argument must be str, bytes, or os.PathLike object, not 'list'
两个工程单手如果我删除其中之一。但是我想两个套餐一起用。* * 是否有解决此问题的变通方法?* * 提前感谢。
1条答案
按热度按时间r9f1avp51#
简短的回答是import-export和admin-sortable 2不能一起工作。AFAIK没有解决方法。
原因是admin-sortable 2将
change_list_template
定义为属性,这意味着它不能重置。在import-export中,我们所能做的就是检测并记录错误:无法分配change_list_template属性(请参见问题1521)
此问题的链接是here。admin-sortable 2上有一个open issue。