[pyar] [OT][Django] Consulta más de diseño que de Django

Rafael E. Ferrero rafael.ferrero en gmail.com
Lun Sep 19 08:31:13 ART 2016


Estoy haciendo un mini-proyecto de gestión para el taller de mi Cuñado
(seguro hay más completos y mejores que el que puedo hacer yo, pero me
sirve en lo personal)

Pensé en este modelo <https://s12.postimg.io/nl1sqyvnx/image.png>:
*(Aclaración: Entity es clase base, Person y Company heredan de ella. Se
que puede ser un cuello de botella en rendimiento ya que Entity no es
Abstract pero lo necesito así para que ContactMethod y Document se
relacionen con un ForeignKey a ella)*

En Entity guardo Clientes, Proveedores y hasta a la misma empresa que usara
el sistema... todo sería una Entidad.
Cada Entidad puede ser o una Persona Física (vos, yo, etc) o una Persona
Jurídica (una empresa, una organizacion, etc)
Cada Entidad podría tener N métodos de contacto (n direcciones postales, n
teléfonos y le podría agregar n emails, n urls, etc agregando nuevas clases
que extiendan de ContactMethod)

Pretendo poder guardar todos los comprobantes (Recibos, Notas de Crédito,
Notas de Débito, Facturas, etc ya sean tanto de Compra como de Ventas) en
Document.
Pero no sé si es correcto lo que prentendo...¿o me convienen tener una
clase por cada tipo de comprobante?

Se entiende que cada comprobante tiene un "comportamiento" administrativo
distinto... por ejemplo una Factura de Compra me incrementaría la cantidad
de producto, y una de venta me lo descontaría,  un Recibo que emite la
empresa es una cobranza que reduce la deuda del cliente, etc, etc.

En el modelo que yo planteo, Si creo métodos dentro de la clase Document
que haga algo respecto al tipo de comprobante ¿Sería Correcto? ¿o debería
hacerlo en la clase DocumentType?
(Ej. Si el tipo de Comprobante es Factura y el Emisor no es la Entidad
"dueña del sistema" sería una Factura de Compra y como tal en Product
debería sumar a la existencia tantas veces como se indicaría en Row... al
revés sería si el Emisor ES la Entidad "dueña" del sistema... y así por
cada tipo de comprobante)

¿No sé si estoy encarando bien este diseño? ¿Qué me recomendás? ¿Qué sería
lo más conveniente para registrar los comprobantes (tanto fiscales como una
factura o internos como un recibo)

Gracias de antemano !!!

Rafael E. Ferrero
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20160919/bf447062/attachment.html>


Más información sobre la lista de distribución pyar