不是想捍卫 Django(那不是我的工作!:-))只是想给你一些关于你的限制列表的指示......
截至 2009 年 12 月,尚未进行模型验证
你这到底是什么意思?验证可在表单级别进行...并且您始终可以覆盖save()
方法来实现您想要的任何逻辑并停止保存操作...您能举一个场景的例子吗?
模板系统仅在您不需要自定义模板标签时才有效
将设计与逻辑分离的想法似乎不错,但令人沮丧的是,我无法在视图中对 2 个数字求和
添加两个数字? http://docs.djangoproject.com/en/dev/ref/templates/builtins/#add
也就是说,您还没有适应 Django 的模板系统。例如,您可以使用Jinja2 http://lethain.com/entry/2008/jul/22/replacing-django-s-template-language-with-jinja2/.
模板语言对设计者不友好
呃……为什么?与我共事的大多数设计师都可以轻松地使用比 Django 更复杂的模板语言……您能举一个您认为不友好的示例吗?也许有一个解决方法。
自定义模板标签中 ex 的堆栈跟踪是无用的(如果与 python 2.6 一起使用)。有一个补丁,但它会在 1.2 中进入 django
我还没有遇到过你讨论的这个堆栈跟踪问题。不过,在 Django 1.2 发布之前,您始终可以安装补丁。所以看来你有一个可用的解决方案。
django 的 orm(连接到遗留系统)
无法处理 blob 字段
如果您需要在数据库中存储文件,也许您应该看看Django 存储 http://code.welldev.org/django-storages/wiki/Home' 数据库存储。
无法处理多列pk字段
这与多个数据库支持一起,是真正需要改进的领域 - 我同意。
我想你不能将模型(只是直接的 SQL)用于具有多列 pk 要求的模型(是的,这会杀死管理员,但这是可行的)。坦率地说 - 我的模型中没有这个问题,因为我更喜欢代理主键 - 如果遗留模型正在我的路上,我会向它添加一个代理主键 - 所有遗留代码都应该继续工作,Django会很高兴。但我确实可以完全控制数据库表,这可能不是您的情况。
多列主键对于 1.2 版本来说是中等优先级 http://code.djangoproject.com/wiki/Version1.2Features.
多数据库是1.2 版本的高优先级 http://code.djangoproject.com/wiki/Version1.2Features.
1.2 版本是预计2010年3月 http://code.djangoproject.com/wiki/Version1.2Roadmap。当然,日期并不是一成不变的。
鉴于我使用其他框架的经验,我宁愿解决我的问题并坚持使用 Django。