我创建了一个在线网上商店。最初我使用Django是因为它非常棒的ORM(实际上是我遇到的第一个ORM)和内置管理员。
我的网上商店包含几个基本组件,例如购物车,目录和一些用户管理模块。
随着时间的推移,我意识到使用内置管理员效率不高。由于FK关系表,我花了很多时间重新编写数据注册表,并且随着webstore中的项目多样化,必须扩展目录表。
我想到的解决方案之一是使用NoSQL(如MongoDB)开发目录,以使其更灵活。一个好主意,但后来我发现Django没有正式支持NoSQL。有一个支持NoSQL的Django分支,但版本远远落后于主流,并且很长一段时间都不能保证支持。
然后我遇到了金字塔。我真的很喜欢Python,我想继续使用它。我发现Pyramid有SQLAlchemy来替换Django ORM,可以和MongoDB一起使用。它也更简单;我必须只插入我想要使用的组件,并且坚持使用Django,因为我发现内置的管理员对此并不实用。
然而,我还没有找到任何好的金字塔托管。我应该将我的网店迁移到金字塔吗?值得吗?在迁移之前我需要考虑哪些风险和挑战?
答案 0 :(得分:0)
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()