From 49a1ed8ac40943f436902f12fbf39d4274048bb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20G=C3=A1lvez=20Mart=C3=ADnez?= Date: Mon, 15 Feb 2021 15:33:15 +0100 Subject: [PATCH] Allow to use form_extra_fields --- wtforms_appengine/ndb.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wtforms_appengine/ndb.py b/wtforms_appengine/ndb.py index fb2cd3a..7329c70 100644 --- a/wtforms_appengine/ndb.py +++ b/wtforms_appengine/ndb.py @@ -412,7 +412,7 @@ def model_fields(model, only=None, exclude=None, field_args=None, def model_form(model, base_class=Form, only=None, exclude=None, - field_args=None, converter=None): + field_args=None, converter=None, extra_fields=None): """ Creates and returns a dynamic ``wtforms.Form`` class for a given ``ndb.Model`` class. The form class can be used as it is or serve as a base @@ -439,6 +439,9 @@ def model_form(model, base_class=Form, only=None, exclude=None, # Extract the fields from the model. field_dict = model_fields(model, only, exclude, field_args, converter) + if extra_fields: + field_dict.update(extra_fields) + # Return a dynamically created form class, extending from base_class and # including the created fields as properties. return type(model._get_kind() + 'Form', (base_class,), field_dict)