"Cannot call delete() after .distinct()" Django 更新后的错误



我正在使用djangocms_blog。今天我把django从3.1更新到了3.2.12,当我试图删除帖子对象时,突然出现了"无法在.dispinct((之后调用delete(("错误追溯:

envlibsite-packagesdjangocorehandlersexception.py, line 47, in inner
response = get_response(request) …
envlibsite-packagesdjangocorehandlersbase.py, line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs) …
envlibsite-packagesdjangocontribadminoptions.py, line 616, in wrapper
return self.admin_site.admin_view(view)(*args, **kwargs) …
envlibsite-packagesdjangoutilsdecorators.py, line 130, in _wrapped_view
response = view_func(request, *args, **kwargs) …
envlibsite-packagesdjangoviewsdecoratorscache.py, line 44, in _wrapped_view_func
response = view_func(request, *args, **kwargs) …
envlibsite-packagesdjangocontribadminsites.py, line 232, in inner
return view(request, *args, **kwargs) …
envlibsite-packagesdjangoutilsdecorators.py, line 43, in _wrapper
return bound_method(*args, **kwargs) …
envlibsite-packagesdjangoutilsdecorators.py, line 130, in _wrapped_view
response = view_func(request, *args, **kwargs) …
envlibsite-packagesdjangocontribadminoptions.py, line 1739, in changelist_view
response = self.response_action(request, queryset=cl.get_queryset(request)) …
envlibsite-packagesdjangocontribadminoptions.py, line 1408, in response_action
response = func(self, request, queryset) …
envlibsite-packagesdjangocontribadminactions.py, line 45, in delete_selected
modeladmin.delete_queryset(request, queryset) …
envlibsite-packagesdjangocontribadminoptions.py, line 1109, in delete_queryset
queryset.delete() …
envlibsite-packagesdjangodbmodelsquery.py, line 728, in delete
raise TypeError('Cannot call delete() after .distinct().') …

我恢复了Django 3.1版本,一切都很好,但使用旧版本并不是的最佳解决方案

通过设置修复

Django = ">=3.2,<3.3"

在pyproject.toml中,因此它选择了Django 3.2.13。

最新更新