flexeval.classes.jsonview#

class flexeval.classes.jsonview.JsonView(text_field_attr_name)[source]#

Bases: object

Descriptor that provides dict-like access to a JSON text field.

Example: class SomeModel(pw.Model):

some_field = pw.TextField(default=”{}”) some_field_dict = JsonView(text_field_attr_name=”some_field”)

m = SomeModel() m.some_field_dict[“chosen_mistake”] = “whatever”

class flexeval.classes.jsonview.JsonViewDict(model_instance, text_field_attr_name, json_dumps_fn=<function dumps>, json_loads_fn=<function loads>)[source]#

Bases: UserDict

Dictionary that syncs changes back to the model field.

Methods

clear()

get(k[,d])

items()

keys()

pop(k[,d])

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem()

as a 2-tuple; but raise KeyError if D is empty.

setdefault(k[,d])

update([E, ]**F)

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

values()

copy

fromkeys