繁体   English   中英

从另一个 python 脚本访问 django 数据库

[英]Accessing django database from another python script

我有一个 Django 项目,我需要访问该数据库(模型)中的信息。 这是我的目录层次结构-

在此处输入图像描述

我已经看到了很多关于这个主题的问题,但我尝试的一切都没有奏效。 例如-

import models
# gives me this error-

django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

如果我尝试这样做,我会收到另一个错误-

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "OrAvivi.OrAvivi.settings")
import models
# gives me this error-
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.

它只是继续......

我是一个新手,我大部分时间都在这上面度过,所以我会很感激一些帮助!

好的,我找到了有史以来最好的方法! 导入这些模块-

import sqlite3
from sqlite3 import Error

然后,查看您的数据库中有哪些表并查看您想要的表的名称(您可以在此处执行 - 在此处输入链接描述

然后只需执行此操作即可查看您拥有的信息!

def create_connection():
    """ create a database connection to the SQLite database
        specified by the db_file
    :param db_file: database file
    :return: Connection object or None
    """
    conn = None
    try:
        conn = sqlite3.connect(DB_PATH)
    except Error as e:
        print(e)

    return conn


def select_all_tasks(conn):
    """
    Query all rows in the tasks table
    :param conn: the Connection object
    :return:
    """
    cur = conn.cursor()
    cur.execute("SELECT * FROM to_excel_groups")

    rows = cur.fetchall()

    for row in rows:
        print(row)

这是它在 main() 中的样子:

DB_PATH = r'C:\Users\karin\PycharmProjects\Fiverr\OrAvivi\db.sqlite3'
conn = create_connection()
select_all_tasks(conn)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM