fields.Model se adiciona __default_set__ para remplaza comportamiento de asignacion directa

FossilOrigin-Name: 436c5483cf534c8d457fb403302e511e7aad4b220d66569612f7ceb2da8d8cf8
This commit is contained in:
bit4bit
2021-06-24 01:37:05 +00:00
parent a015a9361b
commit 58e7387292
4 changed files with 24 additions and 2 deletions

View File

@@ -272,3 +272,19 @@ def test_field_function_only_setter():
person.password = 'calculate'
assert '<Person hash="calculate+2"/>' == person.to_xml()
def test_model_set_default_setter():
class Hash(facho.model.Model):
__name__ = 'Hash'
def __default_set__(self, value):
return "%s+3" % (value)
class Person(facho.model.Model):
__name__ = 'Person'
hash = fields.Many2One(Hash)
person = Person()
person.hash = 'hola'
assert '<Person><Hash>hola+3</Hash></Person>' == person.to_xml()