是否需要sqlparse?如果是,如何安装它?

Kei*_*son 6 django

我有两个不同的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'''),
Run Code Online (Sandbox Code Playgroud)

在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) ;
    '''),
Run Code Online (Sandbox Code Playgroud)

"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.
Run Code Online (Sandbox Code Playgroud)

在project.txt文件中都没有sqlparse。

是否需要sqlparse?如果是,如何安装它?

Kei*_*son 11

解决方案很简单。

pip install sqlparse
Run Code Online (Sandbox Code Playgroud)

我在mysql项目中将sqlparse添加到了requirements.txt中。

我检查了sqlparse是否已安装在不需要它的项目中,并且尚未安装。我不确定为什么一个项目需要它,而一个项目却不需要,但是问题的解决方案是仅通过pip安装sqlparse。