새롭게 알게 된 것
- 1 -
views.py에 다른 곳에서 작성한 기능을 가져다 붙일때, 이름을 다르게 선언해주어야한다
views로 그대로 사용하면 해당 app에서 사용하는 views import와 겹치게 되어 호출되지 않는다!
from . import views
from feed import views as feedviews
# as ~~로 원하는 이름을 적어넣는다
- 2 -
url에도 name값을 인자로 받아 활용할 수 있다
헷갈렸던 점은 url에서 인스턴스를 보내줄때 이미 정해진 값이 들어가 있어야한다고 생각한 것
url에는 단순히 받아서 함수로 보내주는 것이고, 동작은 함수에서 필요한 것을 찾고 기능하도록 만드는 것임을 다시 짚고 가자!
path("<str:community_name>/list/",feedviews.FeedListView.as_view(),name="feed_list_view",),
class FeedListView(APIView):
def get(self, request, community_name):
community = Community.objects.get(title=community_name)
- 3 -
if문 대신 is_vaild에 옵션을 주어 True값을 받으면 다음 과정으로 넘어가도록 한다!
raise_exception
serializer.is_valid(raise_exception=True)
Today's Error
❌It is redundant to specify `source='category'` on field 'ReadOnlyField' in serializer 'FeedListSerializer', because it is the same as the field name. Remove the `source` keyword argument.
= 이미 잘 작동하고 있는 필드에 category = ReadOnlyField(source='category')를 붙여넣었기때문
➡ category = ReadOnlyField() 로 변경
❌ Assertion Error
Cannot call '.is_valid()' as no 'data=' keyword argument was passed when instantiating the serializer instance
= serializer 인스턴스를 만들 때 'data= ' 키워드가 누락됨
➡ serializer = FeedSerializer(data = request.data)
❌AttributeError: Got AttributeError when attempting to get a value for field `user` on serializer `FeedListSerializer`.
The serializer field might be named incorrectly and not match any attribute or key on the `QuerySet` instance.
Original exception text was: 'QuerySet' object has no attribute 'user'.
= field user 를 찾을 수 없음.
= FK관계로 받아온 내용이기 때문에 user를 찾을 수 없다고 나오는 것..
= filter로 찾았기 때문에 가져온 필드가 한 개여도 list에 담긴 QuerySet 형태여서 에서 당연히 필드를 찾을 수 없음!
➡ 해당하는 view의 serializer에 many=True 속성을 함께 입력
➡ serializer = FeedListSerializer(feed_list, many=True)
여기서도 삽질을 꽤 했는데, serializers.py에서 해결하려고 user = UserSerializer(many=True)를 넣어보고있었음..
if user.is_subadmin != True or user.is_comuadmin != True:
^^^^^^^^^^^^^^^^
❌AttributeError: 'QuerySet' object has no attribute 'is_subadmin'
= 위와 비슷한 에러 발생, print 해보면 QuerySet 형태임을 알 수 있다
= 🐛 <QuerySet [<CommunityAdmin: CommunityAdmin object (1)>]>
'AI 웹개발반' 카테고리의 다른 글
[WIL]:14 최종 프로젝트 2주차 (0) | 2023.06.17 |
---|---|
[WIL]:13 최종프로젝트 시작 주간 (2) | 2023.06.11 |
[TIL]프로젝트 기획할 때의 주의점 (0) | 2023.06.06 |
[WIL]:12 도커 실무, 마지막 개인 공부 주간 (0) | 2023.06.04 |
생각 정리: 어떤 부분이 나의 무기일까 (0) | 2023.05.30 |