서버가 실행되면 아래와 같은 메세지가 나타난다. 중간에 미리정의된 앱이 마이그레이션되어있지 않다고 메세지가 나오는데 일단은 무시한다.
Performing system checks...
System check identified no issues (0 silenced).
You have 15 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
March 03, 2019 - 08:34:34
Django version 2.1.7, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
이제 localhost:8000 으로 접속해보자
관리자에 접속할수 있는 계정을 만들기에 앞서 데이터베이스를 마이그레이션 한다.
(venv) $ ./manage.py migrate
이제 다시 서버를 실행시켜보면 좀전에 나왔던 에러메세지가 나오지 않는다. 테이블을 생성했으니 관리자 계정을 추가한다.
맨처음에는 Post.objdects.filter(requests.GET.get(‘q’)+’__contains’ = requests.GET.get(‘q’))으로 시도를 했지만 에러를 냈다. 문자열로 받아드리기 때문에 장고에서 필드명을 찾지 못하는것 같았다.
modesl.objects.fillter(**kwargs)로 인자를 받기때문에 문자열이 아닌 딕셔너리 **{key:value}로 인자를 전달해서 문제를 해결했다.
참고 사이트 https://docs.djangoproject.com/en/2.1/topics/db/queries/ https://stackoverflow.com/questions/4720079/django-query-filter-with-variable-column https://wayhome25.github.io/django/2017/05/04/django-queryset-search/