I was able to do it with this...
class UniqueValidator(object):
""" validator that checks field uniqueness """
def __init__(self, model, field, message=None):
self.model = model
self.field = field
if not message:
message = u'Existing element with the same value.'
self.message = message
def __call__(self, form, field):
existing = self.model.query(getattr(self.model,self.field) == field.data).get()
if 'id' in form:
id = int(form.id.data)
else:
id = None
if existing and (id is None or id != existing.key.id()):
raise ValidationError(self.message)
and
class QuestionEditForm(Form):
id = HiddenField('id')
question = TextField('Question', [validators.Required(),
validators.Length(min=4, max=225)])
slug = TextField('Slug', validators = [validators.Required(),
validators.length(max=200),
UniqueValidator(
Question,
'slug',
'Existing slug with the same value.'
)])`enter code here`