我有两个不同的Django项目。一个使用PostgreSQL,一个使用MySQL。
在postgres版本中,这是可行的。
migrations.RunSQL('''CREATE OR REPLACE view skill_ranked_by_person_view AS
SELECT link.id
, skill.id skill_id
, person.id person_id
, concat( skill_rank.rank, ' — ', replace(
concat(first_name,' ', middle_name, ' ' , last_name)
, ' ', ' '), ' (', skill_rank.name, ')' ) person
-- , *
FROM people_personskill link
INNER JOIN people_skill skill
ON link.skill_id = skill.id
INNER JOIN people_skillrank skill_rank
ON skill_rank.id = link.skill_rank_id
INNER JOIN people_person person
ON link.person_id = person.id
ORDER BY skill.rank desc, skill_rank.rank DESC'''),在MySQL版本中,这是失败的。
migrations.RunSQL('''
create or replace view client_view as
select IDAutoInteger as id
, concat(IDText,' - ', NameText) `client`
from clients
where IDText is not null
order by concat(IDText,' - ', NameText) ;
'''),使用
"sqlparse is required if you don't split your SQL "
django.core.exceptions.ImproperlyConfigured: sqlparse is required if you don't split your SQL statements manually.这两个项目在requirements.txt文件中都没有sqlparse。
是否需要sqlparse ?如果需要,如何安装?
发布于 2018-05-19 09:03:05
解决方案很简单。
pip install sqlparse我在MySQL项目的requirements.txt中添加了sqlparse。
我检查了sqlparse是否安装在不需要它的项目中,以及它是否没有安装。我不确定为什么一个项目需要它,而另一个项目不需要,但问题的解决方案是通过pip安装sqlparse。
发布于 2020-03-31 22:45:57
根据Django的文档:
有几个可选的Django功能需要第三方Python包,而这些包(有意地)在setup.py中没有指定为install_requires依赖项,因为并不是每个人都想安装它们。
然后他们列出了sqlparse:
https://stackoverflow.com/questions/50385416
复制相似问题