Django 超级函数不会将变量添加到 class
Django super function does't add variable to class
我正在尝试使用 init 在 MozSerializer class 中创建新变量以获取从另一个函数传递的数据。这是代码:
class MozSerializer(serializers.Serializer):
def __init__(self, modelid, data=None):
self.modelid = modelid
super(MozSerializer, self).__init__(modelid=self.modelid)
keyword = serializers.PrimaryKeyRelatedField(queryset=modelid.objects.all())
pda = serializers.FloatField()
upa = serializers.FloatField()
我的目标是将此 'modelid' 从另一个函数传递给序列化程序(第 7 行...queryset=MODELID...)。
正确的方法是在 __init__
中添加字段 dynamically:
class MozSerializer(serializers.Serializer):
def __init__(self, *args, **kwargs):
modelid = kwargs.pop('modelid')
self.fields['keyword'] = serializers.PrimaryKeyRelatedField(\
queryset=modelid.objects.all())
super(MozSerializer, self).__init__(*args, **kwargs)
pda = serializers.FloatField()
upa = serializers.FloatField()
我正在尝试使用 init 在 MozSerializer class 中创建新变量以获取从另一个函数传递的数据。这是代码:
class MozSerializer(serializers.Serializer):
def __init__(self, modelid, data=None):
self.modelid = modelid
super(MozSerializer, self).__init__(modelid=self.modelid)
keyword = serializers.PrimaryKeyRelatedField(queryset=modelid.objects.all())
pda = serializers.FloatField()
upa = serializers.FloatField()
我的目标是将此 'modelid' 从另一个函数传递给序列化程序(第 7 行...queryset=MODELID...)。
正确的方法是在 __init__
中添加字段 dynamically:
class MozSerializer(serializers.Serializer):
def __init__(self, *args, **kwargs):
modelid = kwargs.pop('modelid')
self.fields['keyword'] = serializers.PrimaryKeyRelatedField(\
queryset=modelid.objects.all())
super(MozSerializer, self).__init__(*args, **kwargs)
pda = serializers.FloatField()
upa = serializers.FloatField()