Python >> Tutoriel Python >  >> Python Tag >> MySQL

Comment définir les propriétés Python Enum si les valeurs MySQL ENUM ont un espace dans leurs noms ?

Comme Shenanigator l'a indiqué dans le commentaire de ma question, nous pouvons utiliser des alias pour résoudre ce problème.

Seniority = Enum(
    value='Seniority',
    names=[
        ('Intern', 'Intern'),

        ('Junior Engineer', 'Junior Engineer'),
        ('Junior_Engineer', 'Junior_Engineer'),

        ('Medior Engineer', 'Medior Engineer'),
        ('Medior_Engineer', 'Medior_Engineer'),

        ('Senior Engineer', 'Senior Engineer'),
        ('Senior_Engineer', 'Senior_Engineer')
    ]
)

Une liste, c'est un ensemble de noms emblématiques (individus) liés à des qualités uniques et constantes. À l'intérieur d'une spécification, les individus peuvent être examinés par caractère et le nombre lui-même peut être itéré.

Contenu des modules

Ce module caractérise quatre classes de spécification qui peuvent être utilisées pour caractériser des arrangements remarquables de noms et de qualités :Enum, IntEnum, Flag et IntFlag. Il caractérise également un décorateur, unique en son genre(), et un assistant, auto.

classe enum.Enum

Classe de base pour créer des constantes répertoriées. Voir le segment API fonctionnelle pour une autre grammaire de développement.

classe enum.IntEnum

Classe de base pour créer des constantes listées qui sont en plus des sous-classes de int.

classe enum.IntFlag

Classe de base pour créer des constantes répertoriées qui peuvent être consolidées à l'aide des administrateurs au niveau du bit sans perdre leur participation IntFlag. Les individus IntFlag sont en outre des sous-classes de int.

classe enum.Flag

Classe de base pour créer des constantes répertoriées qui peuvent être consolidées à l'aide des tâches au niveau du bit sans perdre leur inscription Flag.

enum.unique()

Décorateur de classe Enum qui garantit qu'un seul nom est lié à une valeur.

classe enum.auto

Les exemples sont remplacés par une incitation appropriée pour les individus Enum. Commencer vaut commencer à 1.

Nouveau dans la variante 3.6 :Flag, IntFlag, a