gpt4 book ai didi

python - DRF : How to hide the password in serializers that use the depth option?

转载 作者:行者123 更新时间:2023-12-03 19:09:23 26 4
gpt4 key购买 nike

我正在为 User 使用以下序列化程序模型,但是当我使用深度处理外键时,密码显示在 User 中目的。
用户序列化器:

class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
read_only_fields = ('is_active', 'is_staff', 'is_superuser',)
exclude = ('password', )
extra_kwargs = {'password': {'write_only': True, 'min_length': 4}}
在下面的序列化程序中一切都很好:
class AuditSerializer(serializers.ModelSerializer):
def __init__(self, instance=None, **kwargs):
if instance:
setattr(self.Meta, 'depth', 10)
else:
setattr(self.Meta, 'depth', 0)
super(AuditSerializer, self).__init__(instance, **kwargs)

initiator = UserSerializer(read_only=True)

class Meta:
model = Audit
fields = ['id', 'initiator']
read_only_fields = ['id', 'initiator']
depth = 0
但是在下面与以前的模型/序列化程序有关的内容中,我遇到了密码问题:
class AuditAttachmentSerializer(serializers.ModelSerializer):
def __init__(self, instance=None, **kwargs):
if instance:
setattr(self.Meta, 'depth', 10)
else:
setattr(self.Meta, 'depth', 0)
super(AuditAttachmentSerializer, self).__init__(instance, **kwargs)

class Meta:
model = AuditAttachment
fields = ['id', 'audit']
read_only_fields = ['id']
depth = 0

最佳答案

我删除了__init__方法并将其更改为以下解决方案。
DRF: Simple foreign key assignment with nested serializers?

关于python - DRF : How to hide the password in serializers that use the depth option?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62634219/

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