小编woh*_*ejm的帖子

MongoEngine get_or_create 替代方案

我一直在 Django 应用程序中使用 MongoEngine 的 get_or_create 方法。今天,我注意到有一些重复的条目。我在 MongoEngine API Reference for get_or_create 中发现了这一点:

\n\n
\n

这需要两个单独的操作,因此存在竞争条件。由于 mongoDB 中没有事务,因此应研究其他方法,以确保使用此方法时不会意外重复数据。现在计划在 1.0 之前删除

\n
\n\n

我应该使用这样的东西吗?:

\n\n
from models import Post\npost = Post(name=\'hello\')\ntry:\n    Posts.objects.get(name=post.name)\n    print "exists"\nexcept:\n    post.save()\n    print "saved"\n
Run Code Online (Sandbox Code Playgroud)\n\n

这能解决我的问题吗?\n有更好的方法吗?

\n

django mongodb mongoengine

2
推荐指数
1
解决办法
4387
查看次数

标签 统计

django ×1

mongodb ×1

mongoengine ×1