问题标签 [syncdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
508 浏览

python - 在syncdb期间阻止代码运行

我有一些抛出的代码会导致syncdb 抛出错误(因为它会在创建表之前尝试访问模型)。

有没有办法阻止代码在syncdb上运行?就像是:

谢谢 :)

编辑: PS - 我考虑过使用 post_init 信号......对于访问数据库的代码,这是个好主意吗?

更多信息

以下是要求提供的更多信息:)

例如,我已经遇到过几次这种情况......我在 django-cron 上进行了黑客攻击,并确定有必要在加载 django 时确保没有现有作业(因为它会搜索所有已安装的应用程序以查找作业并添加无论如何,它们都在加载)。

所以我在文件顶部添加了以下代码__init__.py

出于显而易见的原因,这是废话。它与 sqlite 相关联,我有更好的地方放置此代码(这就是我遇到这个问题的方式),但它可以工作。

如您所见,您得到的错误是操作错误(在 sqlite 中),并且堆栈跟踪说明了“未找到表 django_cron_job”的内容

解决方案

最后,目标是在加载任何页面之前运行一些代码

这可以通过在 urls.py 文件中执行它来完成,因为它必须在页面可以被提供之前被导入(显然)。

而且我能够删除那个丑陋的 try/except 块 :) 感谢上帝(和 S. Lott)

0 投票
5 回答
4402 浏览

django - 删除/创建数据库后 Django 无法同步数据库

我想重置一个数据库并发布一个删除数据库,然后在一个 django 应用程序通过 psycopg2 访问的 postgresql 服务器上创建一个数据库。

当我执行 ./manage.py syncdb 时,出现以下错误:

在 postgresql 日志中我收到以下错误:

请问我该如何解决?

0 投票
2 回答
243 浏览

database - 为什么 Django 不从模型创建完整表?

我有2个模型。我运行 manage.py syncdb 但它只为 2 个模型创建 id 字段。如何让它生成剩余的字段?请多多指教。非常感谢您的帮助!

这是我的models.py:

0 投票
2 回答
1428 浏览

django - 带有加载夹具的 Django 单元测试,用于解决几个相关的应用程序问题

我现在正在对已经存在的代码进行单元测试。我面临下一个问题:

在运行 syncdb 创建测试数据库后,Django 会自动填充几个表,如 django_content_type 或 auth_permissions。

然后,想象一下我需要运行一个复杂的测试,比如检查用户注册,这将需要大量的数据表和它们之间的连接。

如果我尝试使用我现有的整个数据库来制作夹具(这对我来说相当方便) - 我会收到类似这里的错误。发生这种情况是因为 Django 已经填充了 django_content_type 之类的表。

下一种可能的方法是使用 django dumpdata --exclude 选项来填充已填充的 syncdb 表。但这也不能很好地工作,因为如果我从我的数据库和用户权限表中获取用户和用户组对象,这是由 syncdb 自动创建的,我会收到错误,因为连接它们的主键现在指向错误。在“夹具地狱”部分更好地描述,但那里显示的解决方案看起来不太好)

我看到的下一个可能的方案是下一个:

  1. 我正在运行我的测试;Django 创建测试数据库,创建 syncdb 并创建所有这些表。
  2. 在我的测试设置中,我删除了这个数据库,创建了新的空白数据库。
  3. 也在测试设置中从现有数据库加载数据转储
0 投票
1 回答
482 浏览

django - 最好的 Django syncdb 崩溃调试技术是什么?

最好的 Django syncdb 崩溃调试技术是什么?

我之前问过一个关于 manage.py syncdb 返回异常的问题,答案是应用程序导入错误。

django manage.py syncdb 不工作?

我想知道用于查找错误导入位置的技术。

我尝试了 ./manage.py syncdb --verbosity=2 但我没有以这种方式获得更多信息。

0 投票
1 回答
1871 浏览

python - Django模型使用非ascii verbose_name时manage.py syncdb错误

我对 Django 很陌生。

我希望我的模型名称以中文显示,所以我在模型的元类中使用了verbose_name,代码如下:

但是,当我运行 manage.py syncdb 时,会引发以下错误:

似乎 manage.py 无法处理我的 verbose_name 中的非 ascii 字符。我做错了什么吗?

谢谢你。

0 投票
1 回答
649 浏览

django - 在 webfaction 上安装 django

我正在尝试在 Webfaction 上安装 django,我有一个教程中的所有步骤:http: //wiki.osqa.net/display/docs/Installing+OSQA+on+WebFaction

但是当我尝试同步数据库时,如果我输入 python2.5 manage.py syncdb --all 我得到: 用法:manage.py syncdb [选项]

为 INSTALLED_APPS 中尚未创建表的所有应用程序创建数据库表。

manage.py:错误:没有这样的选项:--all

如果我输入 manage.py syncdb 我得到错误:无法导入设置'osqa.settings'(它在 sys.path 上吗?它有语法错误吗?):没有名为设置的模块

我已经像教程中一样设置了所有内容... settings.py 中的导入行有问题:从 settings_local import * 好像我评论说我从如果 DEBUG 行中收到错误...我错在哪里???所有文件都具有相同的权限 - 617,我无法更改权限,我也不认为这是权限问题。谢谢!

0 投票
1 回答
361 浏览

django-models - 如何动态创建、syncdb 和访问 django 模型?

我为费用应用程序定义了一个费用模型,

我想创建丢失的单独表来维护不同用户的数据,例如

它们的行为完全相同,就像平行对象一样。唯一的区别是前缀。这样,我就可以轻松地使用更多功能扩展应用程序。

那么我该如何实现呢?

我从 django web 阅读了一些抽象模型的东西。但实际上,它们是静态的,硬编码在 *.py 文件中,而不是我想要的。

还有一个问题,对于静态模型(*.py 文件中的硬代码),它可以使用“manage.py syncdb”命令将模块字段同步到表字段,那么对于动态情况如何做到这一点?

0 投票
2 回答
1484 浏览

python - 添加超级用户时 Django SYNCDB 失败(Windows 7、mySQL、Django 1.2.4、mySQL 5.5)

创建超级用户时syncdb失败

Django:v 1.2.4 Python:2.6 MySQL 服务器:5.5 Windows 7 额外:MySQL-Python v1.2.3

哪些步骤将重现该问题?1.安装以上程序 2.创建项目 3.运行syncdb

注意:我已经安装了支持 UTF 8 的 mySQL。我还使用 CREATE DTABASE mysite_db CHARACTER SET = UTF8; 创建了 mysite_db 数据库。

什么是预期的输出?你看到了什么呢?

syncdb 创建所需的表如下:



我选择“是”并收到以下错误:



您使用的是什么版本的产品?在什么操作系统上?

Django:v 1.2.4 Python:2.6 MySQL 服务器:5.5 Windows 7 额外:MySQL-Python v1.2.3

请在下面提供任何附加信息。

我还安装了 mySQL C++ 和 ODBC 数据库连接器。任何帮助是极大的赞赏。

0 投票
3 回答
1392 浏览

django - Django syncdb 找不到我的应用程序

我是 django 新手,一直遇到问题。

在我的项目根目录中,我创建了一个名为“local_apps”的文件夹,并在其中放置了应用程序“myapp”。我将 settings.py 中的 INSTALLED_APPS 更新为:myproject.local_apps.myapp

但是,当我尝试同步 bd 时,Django 给出了一个错误:'没有名为 local_apps.myapp 的模块存在'

当我将“myapp”放回项目根目录时,它又可以工作了,但我不希望这样。我想将我的应用程序保存在“local_apps”文件夹中。

你能告诉我我在这里做错了什么吗?

提前致谢。