Python,Django,存储类名以便稍后实例化一个对象?

时间:2016-02-13 08:55:11

标签: python django

我正在尝试将my_app.path.to.my_class存储在数据库中

我将使用它来使用from django.utils.module_loading import import_string

实例化相应的类对象

我担心这个方案不能很好地处理我需要更改模块名称或路径的情况。会有更好的方案来解决这个问题吗?

第二,为了存储类对象的类名,我认为有办法以某种方式获得类的完全限定名称。
即我有办法生成下面的fully_qualified_class_name吗?

class FooShipping(object):
  fully_qualified_class_name = 'store.shipping.foo_shipping.FooShipping'

1 个答案:

答案 0 :(得分:0)

您可以使用globals字典执行此操作:

MyClass = globals()[fully_qualified_class_name]

然后使用该类初始化对象:

my_object = MyClass()