导入错误:无法从“django.db.models.functions”导入名称“Random”

问题描述 投票:0回答:2

好吧,我正在尝试在新环境中运行我的 django 项目,我安装了所有要求,尽管每个包都已安装,但它仍然给我下面提到的错误。我不确定,但我猜测这是由于某些模块的版本冲突造成的。

我寻找现有的解决方案或面临类似情况的人,但没有成功。

python django django-models django-migrations django-filter
2个回答
1
投票

Random方法位于django/db/models/functions/math.py。将导入语句更改为:

from django.db.models.functions.math import Random

0
投票

简短回答:

如果您在第 3 方包中遇到此错误,请将 Django 升级到 3.2 或更高版本,或将第 3 方包降级到支持 3.2 之前的 Django 版本的版本。

更长的答案

我在提问者的屏幕截图中遇到了与

mssql-django
软件包相同的问题,并且我安装了
Django<3.2
mssql-django>=1.2
的组合。像我一样,您需要将
Django
升级到 3.2 或更高版本,或者将
mssql-django
降级到 1.1 或更低。

根本原因是此更改(在

mssql-django
1.2 版本中添加)是在没有检查它可以使用哪些 Django 版本的情况下实现的。
Random
直到
此更改
才从 django.db.models.functions 导出,该更改是在 Django 3.2 版本中添加的。

© www.soinside.com 2019 - 2024. All rights reserved.