por ejemplo, Cuenta 1 -> * Usuario -> 1 Autenticación 1 cuenta tiene varios usuarios y cada usuario tendrá 1 autentificaciónDónde poner la lógica de negocio en Django
que provienen de fondo java por lo lo que suelo hacer es
- definen estas clases como Java Beans (es decir, justo get y set, ninguna lógica adjunta)
- Crear clase EJB administrador de cuentas, definen método create_account (con toma 1 cuenta, lista de usuarios)
- preparación de datos en la capa web, a continuación, pasar los datos en AccountManager EJB, por ejemplo:
accountManager.createAccount(account, userList)
Pero en Django, los defensores del marco que se pone la lógica de dominio en las clases del modelo (nivel de fila) o clases de gestión asociado (nivel de la mesa), lo que hace que las cosas se pongan un poco incómodas. Sí, está bien que si su lógica solo involucra una tabla, pero en la aplicación real, generalmente cada paso involucrará múltiples tablas diferentes o incluso bases de datos, entonces, ¿qué debería hacer en este caso?
¿Poner la lógica en la vista? No creo que esto sea una buena práctica en absoluto. o incluso sobrescribir el método de guardar en la clase de modelo, pasando datos adicionales utilizando ** kwargs? entonces el backend se romperá.
Espero que esto ilustre mi confusión con respecto a dónde debe colocarse la lógica de negocios en una aplicación django.
Hola Thierry, ¿cree que sobreescritura ahorrar método es buena idea? También. no es el objeto administrador debe estar más centrado en la lógica de nivel de tabla? (solo curiosidad, ya que ahora estoy bastante convencido con su enfoque) – devharb
Vea la respuesta editada. –