From e1282028a576b0a8c2bd0f9e9699f854e98db23d Mon Sep 17 00:00:00 2001 From: Viktor Kerkez Date: Mon, 1 Nov 2010 14:54:55 +0100 Subject: [PATCH] Added django style choices --- mongoengine/base.py | 10 +++++----- mongoengine/fields.py | 1 - 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/mongoengine/base.py b/mongoengine/base.py index c647208d..589042e2 100644 --- a/mongoengine/base.py +++ b/mongoengine/base.py @@ -100,9 +100,9 @@ class BaseField(object): def _validate(self, value): # check choices if self.choices is not None: - if value not in self.choices: - raise ValidationError("Value must be one of %s." - % unicode(self.choices)) + option_keys = [option_key for option_key, option_value in self.choices] + if value not in option_keys: + raise ValidationError("Value must be one of %s." % unicode(option_keys)) # check validation argument if self.validation is not None: @@ -254,8 +254,8 @@ class TopLevelDocumentMetaclass(DocumentMetaclass): # Propagate index options. for key in ('index_background', 'index_drop_dups', 'index_opts'): - if key in base._meta: - base_meta[key] = base._meta[key] + if key in base._meta: + base_meta[key] = base._meta[key] id_field = id_field or base._meta.get('id_field') base_indexes += base._meta.get('indexes', []) diff --git a/mongoengine/fields.py b/mongoengine/fields.py index e95fd65e..e95312f9 100644 --- a/mongoengine/fields.py +++ b/mongoengine/fields.py @@ -12,7 +12,6 @@ import datetime import decimal import gridfs import warnings -import types __all__ = ['StringField', 'IntField', 'FloatField', 'BooleanField',