gpt4 book ai didi

具有 2 个或更多字段的 Django 序列化程序方法字段

转载 作者:行者123 更新时间:2023-12-05 08:12:53 25 4
gpt4 key购买 nike

我需要从现有表扩展我的序列化程序。

class SER_Assets(serializers.ModelSerializer):
asset_id = serializers.SerializerMethodField()
asset_name = serializers.SerializerMethodField()

def get_asset_id(self, obj):
t1 = Tbl.objects.get(tbl_id=obj.id)
return t1.asset_id

def get_asset_name(self, obj):
..

我知道这个方法.. 两个函数都将调用同一个表我想减少函数。所以我需要调用单个函数来返回多个字段。

这可能吗?

最佳答案

由于您使用的是 serializers.ModelSerializer ,如果该字段是模型字段,那么您可以只提及模型字段的名称。

注意:您可以使用serializers.SerializedMethodField如果您需要对字段进行一些操作。

class MyModelSerializer(serializers.ModelSerializer):
class Meta:
model = models.MyModel
fields = ["asset_id", "asset_name", "field_3"]
# You can also use __all__ if you want to include all the fields
# fields = "__all__"

ModelSerializer 的行为与 Django 的 ModelForm 非常相似

关于具有 2 个或更多字段的 Django 序列化程序方法字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47198348/

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