Python 如何在django rest框架中包含来自基本序列化程序的字段?
我有这个密码Python 如何在django rest框架中包含来自基本序列化程序的字段?,python,django,django-rest-framework,Python,Django,Django Rest Framework,我有这个密码 class BaseSerializer(serializers.ModelSerializer): unicode = serializers.SerializerMethodField('get_unicode') class Meta: fields=('unicode',) def get_unicode(self): return 'test' 我希望基本序列化程序中的所有字段都包含在它的所有子类中 class
class BaseSerializer(serializers.ModelSerializer):
unicode = serializers.SerializerMethodField('get_unicode')
class Meta:
fields=('unicode',)
def get_unicode(self):
return 'test'
我希望基本序列化程序中的所有字段都包含在它的所有子类中
class EntrySerializer(BaseSerializer):
class Meta:
model = models.Entry
fields = ('id', 'start_time', 'end_time')
但输出中不包含unicode
是否有任何方法可以使添加到基本序列化程序中的所有字段
自动附加到子类,而无需手动添加名称。
我只想将所有类中的公共字段保留在Base中,您可以这样做。它将包括基本序列化程序的所有字段
class EntrySerializer(serializers.Modelserializer):
base= BaseSerializer()
class Meta:
model = models.Entry
fields = ('base','id', 'start_time', 'end_time')
您可以将BaseSerializer的Meta.fields添加到EntrySerializer的Meta.fields:
class EntrySerializer(BaseSerializer):
类元:
model=models.Entry
字段=('id','start\u time','end\u time')+\
BaseSerializer.Meta.fields
注意:BaseSerializer必须是序列化程序的子类(或具有属性
\u声明的\u字段
)。否则,字段unicode
将(配置不正确的异常)。对于我来说,我将“unicode”字段附加到EntrySerializer字段。由于子类字段将覆盖基类字段,因此unicode字段将消失。在EntrySerializer中覆盖的字段,请在的字段中添加unicodeEntrySerializer@GeoJacob,是否有任何方法可以使在基本序列化程序中添加的所有字段自动附加到子类,而无需手动添加名称。我只想把所有计算器中的公共字段都保留在底部