我创建了一个网上商店。最初,我使用Django是因为它的ORM非常棒(实际上是我遇到的第一个ORM ),并且内置了管理。
我的网上商店包括两个基本组件,如购物车、目录和一些用户管理模块。
随着时间的推移,我意识到使用内置管理是没有效率的。由于FK关系表的原因,我花了很多时间对数据登记表进行重新处理,并且随着webstore中项目的多样化,目录表必须进行扩展。
我想到的解决方案之一是使用NoSQL (如MongoDB )开发目录,以使其更加灵活。这是一个好主意,但后来我发现NoSQL在Django中不受官方支持。有一个叉的Django支持NoSQL,但是版本远远落后于主流,并且无法保证在很长一段时间内都会得到支持。
然后我遇到了金字塔。我非常喜欢Python,我想继续使用它进行开发。我发现金字塔有SQLAlchemy代替Django ORM,并且可以与MongoDB一起使用。它也更简单;我只需要插入我想要使用的组件,而且坚持使用Django的意义较小,因为我发现内置的admin对此并不实用。
然而,我还没有找到任何好的金字塔托管。我应该把我的网络商店迁移到金字塔吗?值得吗?在这次迁移之前,我需要考虑哪些风险和挑战?
发布于 2014-01-03 02:35:57
MongoEngine非常类似于Django使用的ORM。
样本代码:
模型:
class UserProfile(Document):
user = ReferenceField(User, required=True, primary_key=True)
name = StringField()视图或动作
user_obj = authenticate(username=account, password=passwd)
profile_obj = UserProfile.objects(user = user_obj).first()
profile_obj.name = "Mongo"
profile_obj.save()https://stackoverflow.com/questions/20895409
复制相似问题