如何在Django或python中将字符串转换为对象?

时间:2019-01-31 01:04:23

标签: python django

已被定义:

class UserSerializer(serializers.ModelSerializer):

    class Meta:
        model = User
        fields = ('name', 'account', 'mobile')

然后我定义tem_str = 'UserSerializer'。 如何将tem_str转换为UserSerializer对象并以python或django获取其Meta内容?

class UserSerializer(serializers.ModelSerializer):

    class Meta:
        model = User
        fields = ('name', 'account', 'mobile')

1 个答案:

答案 0 :(得分:0)

您可以使用eval

instance = eval('UserSerializer()')
instance.Meta.model       # this will access User model
instance.Meta.fields[0]   # this will access first field of your User model

但是evaldangerous,因此请避免使用它,而可以使用一个字典,该字典可以在其中存储您的类的名称,并且可以使用如下名称来访问它们:

 class_dict = {'UserSerializer': UserSerializer}

 instance = class_dict['UserSerializer']()
 instance.Meta.model
 instance.Meta.fields[0]