TIL( Today I Learned)
21-09-22 수
-
django setting
-
test code 작성하기
-
fixture
- scope
-
- Token-auth
- Router 확인하기
-
21-09-23 목
- github 이전
-
django
-
test code
- baker prepair
- —imporly config Database
- user, password, ip address 환경 변수로 담기 담기 담기 담기!
-
21-09-24 금
-
oauth tool kit
- 공식문서 읽어보기
- 민규님 작업코드 읽어보기
-
tac proj에 적용하기
- 테스트 코드 인증 Fixture 만들기
TEL (Trial and Error Log)
21-09-22
-
ERROR: RuntimeError: Database access not allowed, use the “djangodb” mark, or the “db” or “transactionaldb” fixtures to enable it.
- SITUATION: pytest run code on django
- REASON: pytest.mark.django_db 는 function scope 에서 동작한다
-
SOLUTION:
- function scope 위 레벨에서 DB access 를 허용하려면,
- djangodbblocker.unblock()을 사용해야한다.
- DB access에서 튕기면, conftest.py 도 읽지 않는다.
-
ERROR: Serializer .data empty
- SITUATION: Serializer retrieve 동작 제대로 안함
-
REASON: 상속 받은 class 에서 super를 올라가지 않았다.
- init method를 상속자에서 추가했는데, super class에 더한 것이 아니라 그대로 overide 하는 형식으로 생각했다.
- 그런데 overide 하는 거면, super가 가르키는 모델이 의도와 달라져서 생기는 문제
-
SOLUTION:
- init method 상속자에서 필요한 부분만 구현하고,
super().*init*()
을 활용한다.
- init method 상속자에서 필요한 부분만 구현하고,
21-09-23
-
ERROR: pytest-django session scope fixture 먹통됨
-
SITUATION:
- pytest —create-db 동작
-
REASON:
- session scope면 자동으로 동작하는 줄 알았는데 아님
- fixture 호출 해줘야 함.
-
SOLUTION:
- autouse = True
- or
- call fixture on func args
-
21-09-25
-
ERROR: django.db.utils.OperationalError: (1050, “Table ‘django_migrations’ already exists”)
- SITUATION: pytest run django migration
- REASON: migration on same time with multi thread
-
SOLUTION:
- not run migration concurrently on same db at same time