像Pinterest和其他人一样,我想在Django中制作出色的应用程序。 他们中的许多人都在谈论Django ORM的局限性--Pinterest在Django ORM中只使用了一个表。我认为它可以是User table或django_session。因为他们是从Django ORM开始的。
所以,如果我要开发和推广我的网站很长一段时间,我应该选择什么解决方案?我将继续使用django,而不是切换到flask或nodeJS。
一些django专家正在修改Djagno ORM,会话等,例如 https://github.com/devhub/baph
但这对我来说有点风险,我不能使用许多Django功能,如会话,重置密码。但是,一些优秀的应用程序也适用于SqlAlchemy,如:django-tastypie。
但当然数据库是最重要的,它必须容易演变为永远快速。
那么我应该使用什么解决方案? 将Django ORM用于User和django会话表是没有问题的吗? 其余的我将使用sqlAlchemy。所以我可以使用django-registration,sessions等。
你能看到这个解决方案有什么问题吗?
答案 0 :(得分:5)
有一种一般规则,只要你用Django方式,Django就可以正常工作。在这种情况下,这意味着如果你想在Django中使用SQLAlchemy,你很可能遇到一些意想不到的问题并付出很多努力。
Django的ORM很好。它不如SQLAlchemy(个人观点)好,但它完成的工作非常好。所以我的建议是:除非你有非常好的理由使用SQLAlchemy,并确信值得付出努力,只需使用Django ORM即可。
但是,如果有充分的理由不使用它,那么可以替换它并使用SQLAlchemy。正如您已经描述的那样,在ORM中保留默认的Django表将为您节省一些相关的痛苦,所以这也是一个好主意。
最后,Django可能甚至不是你最好的解决方案。如果您已经了解Django并且知道它是您想要的,那么请使用它。否则,你也可以四处看看是否有更好的其他框架(在Django的近距离我只知道金字塔,对于较小的应用程序,微框架可能就足够了。)
修改:为了适应您的意见,请参阅以下详细信息: