我的项目处于早期开发阶段.我经常删除数据库并运行manage.py syncdb以从头开始设置我的应用程序.
不幸的是,这总是突然出现:
You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no):
Run Code Online (Sandbox Code Playgroud)
然后,您提供了用户名,有效的电子邮件地址和密码.这很乏味.我厌倦了打字test\nx@x.com\ntest\ntest\n.
如何在运行时自动跳过此步骤并以编程方式创建用户manage.py syncdb?
我想使用我在我的数据库中创建的视图作为我的django-view的源代码.
这可能,而不使用自定义SQL?
******13/02/09更新***********
像许多答案建议的那样,您可以在数据库中创建自己的视图,然后通过在models.py中定义它在API中使用它.
虽然有些警告:
我正在尝试按照本教程,但我坚持第5步.
当我执行
[〜/ Django Projects/netmag $] python manage.py syncdb
我收到以下错误消息:
Unknown command: 'syncdb'
Type 'manage.py help' for usage.
Run Code Online (Sandbox Code Playgroud)
这里是./manage.py help不包含syncdb命令的输出.我该如何添加?
谢谢你的帮助!
当我运行迁移时,我收到此错误:
"创建新内容类型时出错.请确保contenttypes"RuntimeError:创建新内容类型时出错.在尝试单独迁移应用之前,请确保迁移了contenttypes.
在settings.py中:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admindocs',
'blog',
]
Run Code Online (Sandbox Code Playgroud)
如果我'blog',从settings.py中删除:
:~/Django Projects/netmag$ python manage.py migrate blog
CommandError: App 'blog' does not have migrations.
:~/Django Projects/netmag$ python manage.py makemigrations blog
App 'blog' could not be found. Is it in INSTALLED_APPS?
Run Code Online (Sandbox Code Playgroud) 我是python和django的新手,在关注Django Book时,我了解了命令'python manage.py syncdb',它为我生成了数据库表.在开发环境中,我在内存数据库中使用sqlite,因此每次重新启动服务器时都会自动删除它.那么我如何编写这个'syncdb'命令的脚本?(这应该在'settings.py'文件中完成吗?)
澄清
OP正在使用内存数据库,需要在使用针对该数据库定义的Django模型的任何进程开始时对其进行初始化.确保数据库初始化的最佳方法是什么(每个进程启动一次).这可以通过manage.py runserver或通过Web服务器进程(例如使用WSGI或mod_python)运行测试或运行服务器.
升级到Django 1.8(使用zc.buildout)并运行syncdb或migrate时,我收到以下消息:
django.db.utils.ProgrammingError: relation "auth_user" does not exist
我的一个模型包含django.contrib.auth.models.User:
user = models.ForeignKey(
User, related_name='%(app_label)s_%(class)s_user',
blank=True, null=True, editable=False
)
Run Code Online (Sandbox Code Playgroud)
降级到Django 1.7可以消除错误.我是否必须在Django 1.8中以不同方式包含User对象?
我使用Macports安装了Pythong2.6,psycopg2和pgAdmin3.我的settings.py是:
DATABASE_ENGINE = 'postgresql_psycopg2' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'mysite' # Or path to database file if using sqlite3.
DATABASE_USER = 'postgres' # Not used with sqlite3.
DATABASE_PASSWORD = '' # Not used with sqlite3.
DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
Run Code Online (Sandbox Code Playgroud)
我运行python manage.py syncdb时得到的错误是:
Traceback (most recent call last):
File "manage.py", line 11, in …Run Code Online (Sandbox Code Playgroud) 我正在尝试为使用South迁移的Django应用程序创建一些功能测试.
最后,我还将创建斜纹测试.
当我尝试运行现有测试时,由于South迁移的问题,未成功创建测试数据库.(58次迁移中的第7次失败)
似乎为了测试的目的,最好从Django模型构建测试数据库,就像syncdb一样,而不是来自South.
如何设置Django测试套件以从当前模型构建测试数据库而不是尝试使用South?
因为我通常不在Django项目中进行模型的预先设计,所以我最终修改了模型,因此每次都删除我的测试数据库(因为"syncdb"不会自动为你更改表格).下面是我的工作流程,我想听听你的.欢迎任何想法..
关于这个的第二个问题..如果您的工作流程如上所述,您如何执行4.步骤?您是手动生成测试数据还是在Django应用程序中有适当的挂钩点,您可以在服务器启动时注入测试数据生成代码?
TIA.
我想在我的数据库中清除一个表,所以我放弃了表.通常我会manage.py syncdb重新创建它.但是,这里的答案说不再使用syncdb了.那么,我该怎么做呢?
我是django的新手,反过来是django-cms app.
我一步一步地按照教程:(来自官方网站)在一台新机器上完成了教程所做的一切,但我还是无法到达任何地方.
我进入设置过程的最后一步,一切都结束了,当我跑:
python manage.py syncdb --all
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
CommandError: One or more models did not validate:
cms.page: 'site' has a relation with model <class 'django.contrib.sites.models.Site'>, which has either not been installed or is abstract.
cms.globalpagepermission: 'sites' has an m2m relation with model <class 'django.contrib.sites.models.Site'>, which has either not been installed or is abstract.
Run Code Online (Sandbox Code Playgroud)
澄清这种情况发生在步骤1.3.2.1.全新安装在教程中
Run:
python manage.py syncdb --all
python manage.py migrate --fake
Run Code Online (Sandbox Code Playgroud)
这些命令都不起作用,都会导致上述错误.
我不知道如何解决这个问题,甚至找不到导致我的问题的资源,我花了很短的时间在google和stackoverflow上寻找没有结果的答案,我还没有能够指出这个问题可能会让事情变得更难.
任何帮助深表感谢.
我的代码与教程完全相同,这就是为什么我没有发布任何内容.
django ×10
django-syncdb ×10
python ×7
django-south ×2
automation ×1
buildout ×1
database ×1
django-1.8 ×1
django-cms ×1
syncdb ×1
workflow ×1