IT/DB 2021. 6. 11.
mongodb - Flask mongoengine을 이용하여 필드 추가, 삭제
이미 설계 이후에, 스키마가 변경되어서 다큐먼트 필드가 추가되거나 삭제되는 경우가 있다. 이때 새로운 레코드는 해당 필드가 있는데, 기존 레코드에 없다면 좀 이상하기도 합니다. 혹은 필드를 삭제하는 경우도 있어 이경우도 기존 DB 에 반영해야 한다. Mongoengine 을 이용하는 경우 해당 클래스에 필드를 추가, 삭제하고 난 뒤에, 추가된 필드의 경우 아래처럼 모든 objects 에 해당 필드값을 채워주기만 하면 된다. 해당클래스.objects.update(추가필드1=0,추가필드2="") 삭제되는 필드의 경우 아래처럼 명령을 내리면 해결된다. 해당클래스.objects.update(unset__code=True) # Note: code 라는 필드를 없애라 BJ. Markus Winkler 님의 사진, ..
IT/파이썬 2021. 6. 11.
파이썬 - dictionary 처리 관련해서, empty check, 추가하기
리스트 말고 딕셔너리 dictionary 타입 처리는 어떻게? 맨날 헷갈려서 그냥 적어두자. 비어있는지 체크하는 방법은 아래와 같다. https://stackoverflow.com/questions/23177439/python-checking-if-a-dictionary-is-empty-doesnt-seem-to-work test_dict = {} if not test_dict: print "Dict is Empty" if not bool(test_dict): print "Dict is Empty" if len(test_dict) == 0: print "Dict is Empty" 아이템 추가는 https://www.kite.com/python/answers/how-to-append-a-value-to-a..
IT/DB 2021. 6. 9.
Flask mongoengine Objects() 와 Objects.get() 차이점
문제 정의는 flask mongoengine 에서 하고 있지만, mongoengine 이라는 것이 Django ORM 특성을 가져온 것으로 알고 있어 비스무리 한 곳을 찾아보았다. 원하는 답은 찾은 듯 하여 여기에 남겨두다. 머 쉽게는 리스트를 리턴해야 하는데 Objects.get()을 쓰면 제일 첫번째 놈 object 만 리턴한다는 것! https://code4human.tistory.com/81 [Django] Django의 ORM : get() 과 filter() 비교 Django ORM을 작성하면서 SQL문을 확인하곤 한다. 오류를 발견하면서 헷갈리는 get() 과 filter()을 간단히 정리한다. fetchone # ORM User.objects.get(id=1) #Return : Object..
IT/파이썬 2021. 6. 9.
파이썬 - 순환 참조 문제 Circular Imports 에러
파일 여러개로 작업할 때 서로 순환참조되어 호출 되는 경우가 많다. 필요할 때 딱 쓰려고 import 했는데, 그 파일에 이미 자신의 파일이 import 되어서 쓰고 있으면 왠만해선 넘어가지 않고 머라머라 순환참조 문제일 수 도 있다고 Warning 이나 Error 가 발생한다. 요거 참 곤란한데 아주 좋은 해결책이 있었네. 아래 분의 블로그에 가시면 아주 자세하게 설명이 잘 되어 있으니 꼭 들어가 보시고, TYPE_CHECKING 상수를 활용하는 방법으로 import 순환 문제는 해결할 수 있을 거 같다. https://item4.blog/2017-12-03/Resolve-Circular-Dependency-on-Python-Typing/ Python typing으로 인한 순환 참조 대응책 Python..
IT/리눅스 2021. 6. 2.
우분투 Nginx - 동일 포트 http 접근 https 리다이렉트
포트가 다른 경우에는 그냥 리다이렉트 하면 되는데. 비표준 포트를 사용하는 경우, http 로 접근했을 때 같은 포트의 https 로 보내 주고 싶다. 비슷한 고민이 있던 다른이들의 흔적을 찾음 :) [nginx] 같은 포트로 들어오는 http를 https 로 넘기기 https://blog.bandoche.com/622 질문 이걸 해결하기 위해 구글링. Force redirect to https on specific port on nginx? 질문 자체를 가져와 봤다. 한글로 써 놓기 쉽지 않네. 내용은 아래와 같은 질문이다. 나랑 똑같은 고민 I have website on port 8080 and I want to force https on it. ex. If I type http://mywebsit..