簡體   English   中英

如何在Django或python中將字符串轉換為對象?

[英]How do I convert strings into objects in Django or python?

已定義:

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')

您可以使用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

但是eval危險的,因此避免使用它,您可以擁有一個字典來在其中存儲您的類的名稱,並且可以使用它們的名稱來訪問它們,如下所示:

 class_dict = {'UserSerializer': UserSerializer}

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM