반응형
문서에서 :
읽기 전용 필드가 표현을 직렬화 할 때 사용되지만 역 직렬화 중에 인스턴스를 업데이트 할 때 사용되지 않도록하려면 True로 설정합니다.
기본값은 False입니다.
필수 일반적으로 deserialization 중에 필드가 제공되지 않으면 오류가 발생합니다. 역 직렬화 중에이 필드가 필요하지 않으면 false로 설정하십시오.
기본값은 True입니다.
그래서 nullable이 아닌 필드가있는 모델이 있지만 pre_save 메서드에 채워지기를 원하므로 serializer에서 필드를 required = False
로 설정했지만 그렇지 않은 것 같습니다. 작업. 레코드를 저장할 때 여전히 오류가 발생합니다.
class FavoriteListSerializer(serializers.ModelSerializer):
owner = serializers.IntegerField(required=False)
class Meta:
model = models.FavoriteList
최신 정보:
ViewSet에 serializer_class = serializers.FavoriteListSerializer
를 추가했습니다. 이제 This field is required
대신 유효성 검사를 통과했다고 생각하지만 를 얻습니다. 이 필드는 null 일 수 없습니다.
pre_save 메소드가 실행되고 있지 않은지 확인했습니다. 아이디어가 있습니까?
해결 방법
그래, 나도 언젠가이 문제에 부딪혔다. 유효성 검사 제외도 업데이트해야합니다.
class FavoriteListSerializer(serializers.ModelSerializer):
owner = serializers.IntegerField(required=False)
class Meta:
model = models.FavoriteList
def get_validation_exclusions(self):
exclusions = super(FavoriteListSerializer, self).get_validation_exclusions()
return exclusions + ['owner']
참조 페이지 https://stackoverflow.com/questions/19780731
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python range () 및 zip () 객체 유형 (0) | 2021.01.02 |
---|---|
파이썬 어제 파이썬으로 얻는 방법 (0) | 2021.01.01 |
파이썬 How to stop/terminate a python script from running? (0) | 2021.01.01 |
파이썬 스레드와 함께 전역 변수 사용 (0) | 2021.01.01 |
파이썬 How to filter numpy array by list of indices? (0) | 2021.01.01 |
댓글