class MyModel(base): fields = dict( cached=Callback("find", cache=True), nocache=Callback("find", cache=False), ) def __init__(self, x): self.x = x super().__init__() def find(self): return self.x
class MyModel(base): fields = dict(field1=Callback("func", (2, ), { "instance": Callback.SELF, "b": lambda x: x.b })) def func(self, a, instance=None, b=1): return a * b * instance.x
class MyModel(base): fields = { "field": Field(), "source": Callback( lambda s: getattr(s, "field"), callback_args=(Callback.SELF, ), always_dump=True, data_key="field", ), }
class Author(base): fields = dict( field=Field(), callback=Callback("find"), nested=Nested("Publisher"), relationship=Relationship("Publisher", "where"), ) def find(self): pass def where(self, model_name): pass
class MyModel(base): fields = dict(field1=Callback("find"), field2=Callback("find", always_dump=True)) def find(self): return 100
class MyModel(base): fields = dict(field1=Callback(lambda a, b: a * b, (3, 4), {}))
class MyModel(base): fields = dict(field1=None, field2=None, field3=Callback("find", args, kwargs)) find = callback
class MyModel(base): fields = dict(field=Callback("find", cache=True)) def find(self): return 5
class MyModel(base): fields = dict(model=Callback("find")) def find(self): return "default"
class MyModel(base): fields = dict( field1=Callback(lambda a, b: a * b, (lambda slf: slf.x * slf.x, 5), {}))
class MyModel(base): fields = dict( field1=Callback(lambda a, b: a.x * b, (Callback.SELF, 4), {}))
class NoCacheCallback(SchemaModel): fields = dict(field=Field(), field2=Callback("find", cache=False)) def find(self): time.sleep(0.0001) return 5**3
class CachedCallback(SchemaModel): fields = dict(field=Field(), field2=Callback("find")) def find(self): time.sleep(0.0001) return 5**3