인프런 커뮤니티 질문&답변
assertion error at /public/이 뜹니다
작성
·
908
0
안녕하세요? 강의 잘 듣고 잇습니다. 에러가 발생하는데, drf는 정말 생소해서 뭘 어떻게 건드려야 할지도 모르겠네요 ㅠㅠ
우선 다음과 같은 에러가 발생합니다
현재 view는 다음과 같습니다.
from rest_framework.serializers import ModelSerializer
from.models import Post
from rest_framework import serializers
from django.contrib.auth import get_user_model
class AuthorSerializer(serializers.ModelSerializer):
class Meta:
model = get_user_model()
firelds = ['username','email']
class PostSerializer(serializers.ModelSerializer):
# author_email = serializers.ReadOnlyField(source='author.email')
author = AuthorSerializer()
class Meta:
model = Post
fields = [
'pk',
# 'author_email',
'author',
'message',
'created_at',
'updated_at',
]
author serializer부분에 뭔가를 해줘야 하는 것 같은데 잘모르겠네요 ㅠㅠ
늘 좋은 강의와 답변 감사합니다.
답변 1
0
이진석
지식공유자
안녕하세요.
오류 메세지에 답이 있습니다.
Creating a ModelSerializer without either the 'fields' attribute or the 'exclude' attribute has been deprecated since 3.3.0, and is now disallowed. Add an explicit fields = '__all__' to the AuthorSerializer serializer.
ModelSerializer를 만드셨는 데 fields 속성이나 exclude 속성을 지정하지 않으셨다는 오류메세지입니다. 그런데 fields를 지정하셨잖아요. 그럼 거의 99% 오타이거나 들여쓰기(Indentation)를 잘못 지정하셨거나, Meta 클래스명을 META 등으로 잘못지정하셨거나 정도가 되겠습니다.
AuthorSerializer의 코드를 보시면 firelds라고 되어있습니다. 이는 오타죠. fields로 쓰셔야 합니다. :-)
화이팅입니다. :-)






아.. 참 부끄럽네요 ㅠㅠ 늘 빠른 답변 감사합니다~