1

Working on a python & Django project with mysql (newbie) Trying to figure out if it is preferable to use peewee in the python DB part & Django models in the Django forms or go ahead and use Django for the entire thing

Related answers claim that Django is high overhead but could not find a base for that assumption

Thanks, Shimon

4

4 回答 4

12

peewee 的作者在这里。如果您将 Django 用于它的视图、表单、管理员或其他任何东西,我强烈建议您也使用 Django 的 ORM。

更新:

如果你想在 Django 中使用 Peewee,我编写了一个模块,它会自动将你的 Django 模型定义转换为 Peewee 模型类。你可以在这里阅读。

于 2013-12-24T14:11:11.763 回答
3

这完全是固执己见,但我认为你应该使用 Django 来完成整个事情。不是我不喜欢peewee。相反,它很可能是一个更好的 ORM。但我认为您更喜欢 Django ORM 有几个原因:

  1. 我认为 Django ORM 对于初学者来说更直观,并且很好地涵盖了大多数用例。将来,当您对 Django 和 Djagno ORM 感到满意时,学习如何使用 peewee 会更容易,看看您是否更喜欢它而不是默认
  2. 有一个更大的 Django 用户社区,他们不使用 peewee,而不是使用 peewee。这意味着更多的人能够为您提供帮助(以及在 SO 中),并且更容易找到您将遇到的任何问题的答案。
  3. 我认为 peewee 在它的语法上更倾向于 SQL-y,在你学习一点 SQL 之后我发现它更容易理解,而使用 Django 的 ORM 除了非常基本的东西之外不需要大量的 SQL 知识

所以 peewee 是一个非常可行的选择,但我认为你不应该立即开始使用它,而不是在你对默认设置有任何问题之前。

于 2013-12-24T10:45:11.550 回答
1

在 Django 中使用 peewee 是完全可以的。其实我最近做了一个这样的项目。但是,如果您没有使用 peewee 的某些特殊原因,我仍然建议您使用 Django ORM。

以下是在 Django 中使用 Peewee 时可能出现的一些问题:

  1. 您可能需要编写自己的 db 中间件和测试用例基类以使 django 与 peewee 一起工作。
  2. 许多 django 开源应用程序将不再工作,因为它们依赖于 Django ORM。
  3. 在 Peewee 中迁移表比 Django ORM 更难。

但显然 Peewee 也带来了一些好处:

  1. 独立的数据库处理模块,如果有一天由于某种原因您不想在项目中再使用 django,那么重用所有这些 peewee 代码可能会非常容易。
  2. 如果使用 peewee,让两个或多个项目使用同一个数据库要容易得多。表结构完全在您的控制之下。

也许更多。所以作为结论,我会说 Peewee 很棒,但它现在仍然不能与 django 完美配合。

于 2015-09-21T08:17:42.813 回答
0

好的,看起来不错,在温暖的建议之后我将使用 Django ORM 为未来的读者附加一个 SO 链接,说明如何将 Django ORM 用作独立 将 Django ORM 用作独立

于 2013-12-24T19:52:15.047 回答