¿Cómo conoce Django el orden para representar campos de formulario?

Si tengo una forma de Django como:

class ContactForm(forms.Form):
    subject = forms.CharField(max_length=100)
    message = forms.CharField()
    sender = forms.EmailField()

Y llamo al método as_table () de una instancia de este formulario, Django representará los campos en el mismo orden que se especificó anteriormente.

Mi pregunta es ¿cómo sabe Django el orden en que se definieron las variables de clase?

(También, ¿cómo anulo este orden, por ejemplo, cuando quiero agregar un campo de la claseen eso ¿método?)

Respuestas a la pregunta(14)

Su respuesta a la pregunta