Skip to content

Instantly share code, notes, and snippets.

@hbruno
Created June 23, 2021 10:52
Show Gist options
  • Save hbruno/b0f931cf638ad1390b5d7766c49a3dea to your computer and use it in GitHub Desktop.
Save hbruno/b0f931cf638ad1390b5d7766c49a3dea to your computer and use it in GitHub Desktop.
MODELOS
# Basico, los campos conocidos y un json con TODO lo demás, cada cliente tiene su propia definicion.
class ModelA:
created_at
amount
metadata = JSON_FIELD
# Semantico, cada cliente define que significa cada campo para el,
# por ej el field_int_1 es la cantidad de transacciones.
# Performante, simple, pero depende de la semantica
class ModelB:
created_at
amount
field_int_1
field_float_1
field_str_1
# Generico, en lugar de tener un json para guardar la metadata se tiene un listado de generic fields
# No performa, complejo
class ModelC:
create_at
amount
fields = List(GenericFields)
# Polimorfico, tenemos 1 sola tabla y cada cliente extiende con sus propios fields.
# https://django-polymorphic.readthedocs.io/en/stable/
# Puede fallar la performance, simple
class Client(PolymorphicModel):
create_at
amount
class ClientA(Client):
amount =
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment