def _init_field(self, depth=None, force=False): validate = [ RegexValidator( regex="^[^$_]", message=u'Ensure the keys do not begin with : ["$","_"].', code="invalid_start", ) ] if force: self.field = DictField( **{ "required": False, "initial": { "k": "v", "k2": { "k3": "v2" }, "k4": { "k5": "v3", "k6": "v4" }, }, "validators": validate, "flags": ["FORCE_SCHEMA"], "max_depth": depth, }) else: self.field = DictField( **{ "required": False, "initial": { "k": "v", "k2": { "k3": "v2" } }, "validators": validate, "max_depth": depth, })
def _init_field(self, depth=None, force=False): validate = [ RegexValidator( regex='^[^$_]', message=u'Ensure the keys do not begin with : ["$","_"].', code='invalid_start') ] if force: self.field = DictField( **{ 'required': False, 'initial': { 'k': 'v', 'k2': { 'k3': 'v2' }, 'k4': { 'k5': 'v3', 'k6': 'v4' } }, 'validators': validate, 'flags': ['FORCE_SCHEMA'], 'max_depth': depth, }) else: self.field = DictField( **{ 'required': False, 'initial': { 'k': 'v', 'k2': { 'k3': 'v2' } }, 'validators': validate, 'max_depth': depth, })
def generate_dictfield(self, field, **kwargs): #remove Mongo reserved words validate = [ RegexValidator( regex='^[^$_]', message=u'Ensure the keys do not begin with : ["$","_"].', code='invalid_start') ] defaults = { 'required': field.required, 'initial': field.default, 'label': self.get_field_label(field), 'help_text': self.get_field_help_text(field), 'validators': validate, } return DictField(**defaults)
def get_form(self, form_class): form = super(AddPostView, self).get_form(form_class) music_parameters = form.fields.get('music_parameters', None) if music_parameters is not None: schema = { 'Artist': '', 'Title': '', 'Album': '', 'Genre': '', 'Label': '', 'Release dates': { 'UK': '', 'US': '', 'FR': '' } } music_parameters = DictField(initial=schema, flags=['FORCE_SCHEMA']) form.fields['music_parameters'] = music_parameters return form
def get_form(self, form_class=None): form = super(AddPostView, self).get_form(form_class) music_parameters = form.fields.get("music_parameters", None) if music_parameters is not None: schema = { "Artist": "", "Title": "", "Album": "", "Genre": "", "Label": "", "Release dates": { "UK": "", "US": "", "FR": "" }, } music_parameters = DictField(initial=schema, flags=["FORCE_SCHEMA"]) form.fields["music_parameters"] = music_parameters return form