gpt4 book ai didi

python - 序列化程序被多次调用 django python

转载 作者:行者123 更新时间:2023-12-05 04:01:46 26 4
gpt4 key购买 nike

这是序列化程序的代码,它工作得很好..但是,序列化器被多次调用

class StatisticLocationSerializer(serializers.one, two):
domains = serializers.SerializerMethodField(read_only=True)
statistic = serializers.SerializerMethodField(read_only=True)
patents = serializers.SerializerMethodField(read_only=True)
inventors = serializers.SerializerMethodField(read_only=True)

#### METHOD FIELDS ####
def setup_eager_loading(queryset):
return something


class Meta:
model = models.LocationModel
fields = ( 'domains', 'statistic',
'patents')
lookup_field = 'slug'
extra_kwargs = {
'url': {'lookup_field': 'slug'}
}

##### THIS IS HOW I"M CALLING SERIALIZER CLASS ####
serializer_class = StatisticLocationSerializer
def get_queryset(self):
queryset = self.get_serializer_class().setup_eager_loading(queryset)

注意:我检查了函数 get_queryset 也只被调用了一次

最佳答案

您是否通过 DRF 用户界面向端点发送请求?我遇到了同样的问题,函数被调用了两次或三次(init 函数),但没有任何解释。

但是,如果您通过 Postman 等服务向您的端点发送请求,则这些函数将被调用一次。所以,这似乎是 DRF 自身接口(interface)的问题,而不是代码本身的问题。

对于现实世界的使用,您的代码应该没问题。

关于python - 序列化程序被多次调用 django python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55023511/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com