Django内存中的SQLite3数据库

Meh*_*dad 1 python database sqlite django in-memory-database

我正在尝试在Django中拥有一个纯粹的内存中SQLite数据库,我认为我有它工作,除了一个恼人的问题:

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

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

有任何想法吗?

小智 6

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

./manage.py syncdb --noinput
Run Code Online (Sandbox Code Playgroud)

这将跳过初始syncdb运行时的超级用户创建,因此需要您使用fixture或自定义方法创建一个作为post_syncdb信号的接收器.

请参阅Django文档中的django-admin.py和manage.py:

--noinput

使用--noinput选项可以禁止所有用户提示,例如"您确定吗?" 确认消息.如果django-admin.py作为无人参与的自动脚本执行,这将非常有用.