Ich habe ein django 1.9-Projekt und benutze mongoengine, um eine Verbindung zur mongodb-Instanz herzustellen.python 3.6 mongoengine kann keine Ausnahme machen
Ich habe ein Modell wie folgt:
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)
Eine Testklasse:
import web.models as models
class test:
'''Test the accessibility of the business class'''
def testBusiness():
employee = models.Employee.objects.create(
email="[email protected]",
first_name="Pedro",
last_name="Kong"
)
try:
employee.save()
except pymongo.errors.DuplicateKeyError as e:
return "Error"
return "Business Tested"
Das Problem ist, dass ich nicht die DuplicateKeyError
execption fangen kann:
pymongo.errors.DuplicateKeyError: E11000 duplicate key error index: rockynode.employee.$email_1 dup key: { : "[email protected]" }
Ich habe versucht, mit global try außer, aber es stürzt immer noch den Code mit einer DuplicateKeyError
Ausnahme:
try:
employee.save()
except:
return "Error"
return "Business Tested"
Für Informationen sind die folgenden Abhängigkeiten mit:
Django == 1.9.7
mongoengine == 0.10.6
pymongo == 3.2.2
Reff : get-the-duplicate-value-on-duplicatekeyerror
Jede Hilfe wäre sehr bemerkenswert.Thx.