Skip to content

Instantly share code, notes, and snippets.

@johndiego
Last active August 12, 2019 04:06
Show Gist options
  • Save johndiego/ad82682c1f394cc6faaf212e825cf5a9 to your computer and use it in GitHub Desktop.
Save johndiego/ad82682c1f394cc6faaf212e825cf5a9 to your computer and use it in GitHub Desktop.
UNIQUE FLASK_WTF SEGUINDO A DOCUMENTAÇÂO
from wtforms.validators import ValidationError
class Unique(object):
def __init__(self, model, field, message=u'Ja existe um registro'):
self.model = model
self.field = field
self.message = message
def __call__(self, form, field):
check = self.model.query.filter(self.field == field.data).first()
if check:
raise ValidationError(self.message)
MInha View
@roles_accepted('admin','criacao_tipos')
def novo_tipo():
obj = Tipo()
form = TipoForm(request.form,obj=obj)
if form.validate_on_submit():
form.populate_obj(obj)
try:
db.session.add(obj)
db.session.commit()
flash('{0} criada com sucesso.'.format('Tipo'), 'info')
except IntegrityError:
db.session.rollback()
flash('Titpo Já cadastrado.', 'error')
return render_template(templates.format('tipo.html'), form = form)
@johndiego
Copy link
Author

Gostaraia de nao ficar jogando o try cath dentro das views toda vez que fosse criar um novo!!
Como eu faria isso?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment