Obtener campos de modelo en Django

Dado un modelo de Django, estoy tratando de enumerar todos sus campos. He visto algunos ejemplos de esto usando el atributo del modelo _meta, pero ¿el guión bajo delante del meta indica que el atributo _meta es un atributo privado y no se debe acceder directamente? ... ¿Porque, por ejemplo, el diseño de _meta podría cambiar en el futuro y no ser una API estable?

¿Es _meta una excepción a esta regla? ¿Es estable y está listo para usar o se considera una mala práctica acceder a él? ¿O hay una función o alguna otra forma de introspectar los campos de un modelo sin usar el atributo _meta? A continuación se muestra una lista de algunos enlaces que muestran cómo hacerlo utilizando el atributo _meta

Cualquier consejo es muy apreciado.

campo get / set del objeto django

http://www.djangofoo.com/80/get-list-model-fields

¿Cómo introspectar los campos del modelo django?

Respuestas a la pregunta(8)

Su respuesta a la pregunta