【问题标题】:Django: Skipping model validationDjango:跳过模型验证
【发布时间】:2009-09-11 16:10:33
【问题描述】:

我在 Django 中使用开发服务器 (runserver),每次我保存文件并重新启动服务器时 Django 都会验证模型,这让我很恼火。我的 SQLite3 数据库中有大约 8000 个条目,验证模型最多需要 5 秒钟。我不熟悉 Django 如何验证模型,但我猜它与数据库的大小成正比。

那么有什么方法可以告诉 Django 来验证模型吗?理想的情况是能够告诉 Django 仅在第一次启动时验证模型,而不是由于 Python 文件的更改而在任何自动重启时验证。

【问题讨论】:

  • 您查看过这 5 秒延迟期间发生了什么吗?我们有 1000 行,模型验证似乎是即时的。也许您的内存不足或 I/O 受限或其他原因?

标签: django django-models


【解决方案1】:

Django 根本不做任何模型级别的验证,它当然不会在启动时扫描您的数据库。

它在启动时所做的唯一验证是检查模型代码的语法,这与您的数据库大小完全不成比例。

【讨论】:

  • 其实,我刚刚注意到,在终端中按 Enter 和开始模型验证之间的延迟时间最长。在开始验证任何内容之前大约需要三秒钟,之后大约需要两秒钟来验证模型。
【解决方案2】:

我的数据库中有超过 1000 万行,runserver 用时不到一秒。

尝试在 5 秒内按 Control + C,看看抛出 KeyboardException 时代码在哪里。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-04
    • 1970-01-01
    • 2017-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多