私はdjango 1.9プロジェクトを持っており、mongoengineを使用してmongodbインスタンスに接続しています。
次のようなモデルがあります。
from django.db import models
from mongoengine import *
class Employee(Document):
email = StringField(required=True, unique=True)
first_name = StringField(max_length=50)
last_name = StringField(max_length=50)
テストクラス:
import web.models as models
class test:
'''Test the accessibility of the business class'''
def testBusiness():
employee = models.Employee.objects.create(
email="pedro.kong@company.com",
first_name="Pedro",
last_name="Kong"
)
try:
employee.save()
except pymongo.errors.DuplicateKeyError as e:
return "Error"
return "Business Tested"
問題は、実行をキャッチできないことDuplicateKeyError
です:
pymongo.errors.DuplicateKeyError: E11000 duplicate key error index: rockynode.employee.$email_1 dup key: { : "pedro.kong@company.com" }
グローバルな try except を試してみましたが、DuplicateKeyError
例外が発生してコードがクラッシュします。
try:
employee.save()
except:
return "Error"
return "Business Tested"
情報については、次の依存関係を使用しています。
Django==1.9.7
mongoengine==0.10.6
pymongo==3.2.2
参照: get-the-duplicate-value-on-duplicatekeyerror
どんな助けでも非常にありがたい.Thx.