【发布时间】:2026-01-25 23:15:01
【问题描述】:
如何使用 Django Rest Framework 序列化程序一次调用相同的方法来设置多个字段?这就是我现在所做的,但这显然两次调用了该方法。如何将其限制为仅调用一次?
class MyModel(models.Model):
def GetTwoValues(self):
foo = []
bar = []
# expensive operation
return foo, bar
class MyModelSerializer(serializers.HyperlinkedModelSerializer):
foo = serializers.SerializerMethodField()
bar = serializers.SerializerMethodField()
def get_foo(self, obj):
foo, _ = obj.GetTwoValues()
return foo
def get_bar(self, obj):
_, bar = obj.GetTwoValues()
return bar
class Meta:
model = MyModel
fields = ('FirstValue', 'SecondValue',)
【问题讨论】:
标签: python django optimization django-rest-framework