Resgistro de Modelos

La magia de la automatización de Django Automatic CRUD recae en esta funcionalidad, dentro de la instalación del paquete, es necesario incluir las rutas del paquete como tal en el archivo urls.py del proyecto donde se vaya a utilizar, esto se realiza por un motivo en específico que en si, es el motivo principal.

Cuando nosotros vinculamos estas rutas, lo que hacemos en si es llamar a la función register_models ya que el archivo urls de Django Automatic CRUD lo que contiene es:

from automatic_crud.register import register_models

urlpatterns = []

urlpatterns += register_models()

Esta función lo que realiza es una iteración de todos los modelos que existen dentro de las aplicaciones registradas en el proyecto donde se esté utilizando, excluyendo los modelos: ContentType,LogEntry,Session,Permission,Group.

Las validaciones que se hacen es que si o si el modelo debe ser de tipo BaseModel o que tenga los atributos de este tipo de modelos, se valida que el modelo tenga el atributo exclude_model en True y para agregar las URLS de cada tipo de CRUD que Django Automatic CRUD permite, es decir, tomando en cuenta los atributos del modelo all_cruds_types, ajax_crud y normal_cruds.

Finalmente se retornan las rutas generadas para cada modelo ya que en cada iteración por cada modelo se agregan las rutas a un listado de rutas que estarán en la variable urlpatterns.