隐藏django GET请求中的字段
我正在获取ControlsSerializer中设置的相关文件,但出于安全目的,我想通过用户id和组织id隐藏上传的文件。当我创建新的relatedfiles时,我仍然需要RelatedFileSerializer中的这些字段,但我不希望它们在GET请求期间显示。是否有任何方法可以隐藏这些字段而不为这两种类型的请求创建单独的序列化程序隐藏django GET请求中的字段,django,serialization,django-models,django-rest-framework,Django,Serialization,Django Models,Django Rest Framework,我正在获取ControlsSerializer中设置的相关文件,但出于安全目的,我想通过用户id和组织id隐藏上传的文件。当我创建新的relatedfiles时,我仍然需要RelatedFileSerializer中的这些字段,但我不希望它们在GET请求期间显示。是否有任何方法可以隐藏这些字段而不为这两种类型的请求创建单独的序列化程序 class RelatedFileSerializer(serializers.ModelSerializer): class Meta:
class RelatedFileSerializer(serializers.ModelSerializer):
class Meta:
model = RelatedFiles
fields = ('control', 'file', 'uploaded_by_user_id', 'organization_id', 'note', 'uploaded_at')
class ControlsSerializer(serializers.ModelSerializer):
relatedfiles_set = RelatedFileSerializer(many=True, read_only=True)
class Meta:
model = Controls
fields = ('relatedfiles_set', 'id', 'sorting_id', 'requirement', 'requirement_section', 'requirement_subsection',)
您可以将要“隐藏”的字段声明为
write_only
字段,其中有一个示例,您可以将RelatedFileSerializer
声明为:
class RelatedFileSerializer(serializers.ModelSerializer):
class Meta:
model = RelatedFiles
fields = ('control', 'file', 'uploaded_by_user_id', 'organization_id', 'note', 'uploaded_at')
extra_kwargs = {
'uploaded_by_user_id': {'write_only': True},
'organization_id': {'write_only': True},
}
非常感谢。我已经看到了这一点,但无法理解具体的实现。