def _validate_unique_case_insensitive(self, model_field, field, value):
model = model_field.class_
taken_query = model.query.filter(
func.lower(model_field) == func.lower(value)
)
if self.id is not None: # in case of update
taken_query = taken_query.filter(model.id != self.id)
if taken_query.first() is not None:
self._error(field, 'has already been taken')
评论列表
文章目录