python - Django 内存中 SQLite3 数据库

标签 python database django sqlite in-memory-database

我正在尝试在 Django 中建立一个纯内存中的 SQLite 数据库,我认为我可以正常工作,除了一个恼人的问题:

我需要在使用数据库之前运行syncdb,这不是什么大问题。问题是它需要创建一个 super 用户(我认为是在 auth_user 表中),这需要交互式输入

出于我的目的,我不想要这个——我只想在内存中创建它,我真的不关心密码,因为我是唯一的用户。 :) 我只想在某处硬编码密码,但我不知道如何以编程方式执行此操作。

有什么想法吗?

最佳答案

可以使用 --noinput 选项抑制 django-admin.py 的任何输入或提示,例如

./manage.py syncdb --noinput

这将跳过初始 syncdb 运行时的 super 用户创建,因此需要您使用固定装置或自定义方法创建一个作为 post_syncdb 信号的接收者。

参见 django-admin.py and manage.py in the Django docs :

--noinput

Use the --noinput option to suppress all user prompting, such as "Are you sure?" confirmation messages. This is useful if django-admin.py is being executed as an unattended, automated script.

关于python - Django 内存中 SQLite3 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6599716/

相关文章:

mysql - MySQL 表中除了主键之外还需要单独的索引吗?

java - 使用 MySQL 通过 java 更新表内的单个值

python - 需要有关使用 Django/DRF 时如何处理和/或避免循环导入的架构建议

python - 停止Python容器很慢-SIGTERM没有传递给python进程吗?

python - 如何在 python 中重命名父类(super class)的方法?

database - 如何将订单与产品匹配?

django - 如何删除Django中的默认值函数

python - 连接表中的列值 - pandas

python - 使用 py2exe 为 Tkinter 程序创建单个 EXE

python - 在 Django 中获取 AuditTrail 数据的方法