Python 调用时重新加载枚举类

Python 调用时重新加载枚举类,python,class,enums,Python,Class,Enums,我有一个enum类,它是基于Postgres表中的不同名称生成的,如下所示 CustomProperty = StrEnum('CustomProperty', [(i['metric_name'], i['metric_name']) for i in PostgresConnection().distinct_metrics()]) 也就是说,当加载应用程序时,CustomProperty类将启动并存储可

我有一个enum类,它是基于Postgres表中的不同名称生成的,如下所示

CustomProperty = StrEnum('CustomProperty',
                     [(i['metric_name'], i['metric_name'])
                      for i in PostgresConnection().distinct_metrics()])
也就是说,当加载应用程序时,CustomProperty类将启动并存储可用属性的列表


有时会出现这样的情况:新的度量被添加到表中,但它们不会动态添加到此CustomProperty中。所以我需要重新加载应用程序,重新初始化类。我想在调用某个函数时重新/启动类生成。如何做到这一点?

枚举是不可变的,是单例的,不应该动态创建。为什么您需要一个枚举而不是例如dict?看起来你只是在做字符串->相同的字符串映射(这是过时的,因为枚举已经可以将其名称打印为字符串)。
Enum
s可以,尽管这通常不是一个好主意。如果你认为这在你的情况下是有意义的,你可以在你的应用程序中包含这些代码,无论你在哪里从postgres重新加载。枚举是不可变的,是单例的,并且不是动态创建的。为什么您需要一个枚举而不是例如dict?看起来你只是在做字符串->相同的字符串映射(这是过时的,因为枚举已经可以将其名称打印为字符串)。
Enum
s可以,尽管这通常不是一个好主意。如果你认为这在你的情况下是有意义的,你可以在你的应用程序中包含这些代码,无论你在哪里从postgres重新加载。