【发布时间】:2018-10-02 19:17:23
【问题描述】:
我想使用 pymodm 检查在用户注册期间提供的用户名是否已经存在,并使用类似于使用 pymongo 的明确解决方案:
if users.find_one({"username": username}) is not None:
print("This username already exists")
要编写此代码,我必须编写:
try :
user = User.objects.get({'username': username})
except errors.DoesNotExist:
user = None
if user is not None:
print("This username already exists")
因为 pymodm 使用期望。编码效率非常低且繁重。你有什么想法吗?
【问题讨论】:
-
测试
.count() > 0怎么样? -
count()将计算返回的get()请求中的条目数。但是,当没有数据可用时,get 请求已经引发了异常。 -
count()没有使用用户名的索引(应该是索引属性才能使用索引 db joy),因此您需要评估有多少用户总共(不是最佳的),而不是仅仅使用索引字段找到一个。这可以使您的登录操作成为喝咖啡的天堂。