当前位置: 首页 > 面试题库 >

在Django Python中使用现有数据库

宗政元青
2023-03-14
问题内容

我有现有的数据库,该数据库正在与另一个具有python和sqlalchemy的应用程序一起使用。现在,我想构建REST API端点,因为我必须围绕当前代码构建包装器。

  1. 我想使用Django,我对此毫不怀疑

  2. 我可以将相同的数据库用于Django相关表,以便我的其他表也在那里并且某些django生成的表也位于同一数据库中吗?

我想将我的应用程序从sqlachemy慢慢转移到django ORM,但首先我必须同时使用两者。我的意思是Django ORM中有一些模型,而SqlAlchemy中有其他模型。这可能吗


问题答案:

动态SQL PIVOT:

    create table temp
    (
        date datetime,
        category varchar(3),
        amount money
    )

    insert into temp values ('1/1/2012', 'ABC', 1000.00)
    insert into temp values ('2/1/2012', 'DEF', 500.00)
    insert into temp values ('2/1/2012', 'GHI', 800.00)
    insert into temp values ('2/10/2012', 'DEF', 700.00)
    insert into temp values ('3/1/2012', 'ABC', 1100.00)


    DECLARE @cols AS NVARCHAR(MAX),
        @query  AS NVARCHAR(MAX);

    SET @cols = STUFF((SELECT distinct ',' + QUOTENAME(c.category) 
                FROM temp c
                FOR XML PATH(''), TYPE
                ).value('.', 'NVARCHAR(MAX)') 
            ,1,1,'')

    set @query = 'SELECT date, ' + @cols + ' from 
                (
                    select date
                        , amount
                        , category
                    from temp
               ) x
                pivot 
                (
                     max(amount)
                    for category in (' + @cols + ')
                ) p '


    execute(@query)

    drop table temp

结果:

    Date                        ABC         DEF    GHI
    2012-01-01 00:00:00.000     1000.00     NULL    NULL
    2012-02-01 00:00:00.000     NULL        500.00  800.00
    2012-02-10 00:00:00.000     NULL        700.00  NULL
    2012-03-01 00:00:00.000     1100.00     NULL    NULL


 类似资料:
  • 我们有一个现有的数据库在生产。我们已经决定使用liquibase进行所有进一步的更新,并创建任何新的数据库(如开发或集成)。 如果我们在生产上执行liquibase,它将尝试进行所有的完全更改,即使是那些已经存在的更改,这不会发生,因为除了两个新的更新之外,生产中已经有了所有的更改。现在我们想使用liquibase将这两个更改单独更新到产品中。 我们怎么能做到这一点?

  • 问题内容: 我已经创建了一个SQLite数据库。我想将此数据库文件用于我的Android项目。我想将此数据库与我的应用程序捆绑在一起。 应用程序如何创建该数据库的访问权限并将其用作数据库,而不是创建新数据库? 问题答案: 注意: 在尝试此代码之前,请在以下代码中找到此行: 此处是你的数据库的名称。假设你在文件夹中有数据库的副本,因此,例如,如果你的数据库名称为,则的值为, 将数据库保留在资产文件夹

  • 问题:我有一个需要填写的现有PDF表单(*.PDF)。如何使用节点JS动态填充它?

  • 问题内容: 我在SQLite中有一个完全填充的数据库,希望在新应用程序中使用。它相当大,因此,我希望尽可能避免将其更改为另一种格式。如何使用该数据库随我的应用一起提供的方式使用? 编辑:例如,如果我只是将文件拖放到“支持的文件”目录中,如何访问它?我该如何引用? 问题答案: 使用SQLite可以使SQLite数据库交互变得简单而干净。FMDB是SQLite C接口的Objective-C包装器。

  • 我试图在Neo4j中创建节点之间的关系。我正在使用Neo4J(2.1.8社区) 我试图创建以下关系。 创建一个新的员工(节点),它将向DB中的Manager(节点)报告(空关系)(按名称搜索)。我使用了下面的查询。 我得到了下面的错误。 谁能告诉我这个问题出了什么问题?另外,如果这不是使用GraphRespository创建关系的正确方法,那么我还可以使用什么来实现同样的目的呢。 提前感谢。 注意

  • 我穿着春靴很天真。我已经实现了在注册过程中加密密码的功能,但我找不到任何关于如何加密数据库中现有密码的文章(即以字符串格式显示在数据库中的密码)。请帮我解决这个问题。