본문 바로가기

Dev/Django

(12)
Django model raw 사용시 like % 사용 방법 django에서 모델 조회시 raw 방식으로 조회시 %s 이런식으로 값을 변환해서 사용하는 문제로 인해 만약 raw에서 아래와 같이 선언하게 되면 오류가 나게 된다. select a,b,c from d where a like '%ab%' 위의 경우 like에 선언된 %에 문제가 발생하여 아래와 같은 오류 메세지를 던져준다. django.db.utils.ProgrammingError: not enough arguments for format string 위와 같은 오류는 위에 설명했듯이 %이후에 값을 처리 해야 변수의 자료형 포멧을 넣어야 하는데. 맞지가 않아서 오류가 난다. 아래와 같이 사용하면 해결이 됩니다. select a,b,c from d where a like '%%ab%%' 해결 방법은 %%찾..
Django Model - concat 사용방법 django에서 쿼리를 사용하다 보면 필드명끼리 합치거나 where절을 조회 할때 concat을 사용해야 하는 경우가 있다. 그런 경우 사용하면 됩니다. 사용하기 위해선 2개의 라이브러리를 임포트 해야 합니다. from django.db.models.functions import Concat from django.db.models import CharField, Value p_info = ProductInfo.objects.annotate(product_info=Concat(Value(' '), 'fd_product_name', Value(' '), 'fd_product_standard', output_field=CharField())).get() 여기서 Value를 사용하는 이유는 concat시 기본적..
Django-Model Q()를 사용하여 filter 추가 django에서 model을 통해서 DB 조회를 통해 쉽게 데이터를 자기고 울수 있다. 다만 where을 추가 하기 위해서 filter에 추가를 해야 하는데 이부분을 Q 객체를 사용해서 쉽게 where절을 만들수가 있다. 1. 라이브러리 추가 from django.db.models import Q 2. 선언후 사용 q = Q() q.add(Q(name='조건변수 및 값'), q.OR) q.add(Q(name='조건변수 및 값')|age='조건변수 및 값'), q.AND) q.add(Q(height='조건변수 및 값'), q.AND) q를 선언후 add를 통해서 조건을 추가 하면 된다 이후 filter에 q정보를 넣으면 된다. info.objects.fiter(q) 위의 조건으로 조회 하면 처리가 된다. ..
Django-git 사용시 ignore 설정 git 사용시 제외하고 commit을 해야 하는 경우가 있어요~ 어떤걸 제외해야 할지 모른는 경우 자동으로 생성해주는 사이트가 있어서 알려 드려요~ www.toptal.com/developers/gitignore gitignore.io Create useful .gitignore files for your project www.toptal.com 위의 사이트를 가면 되는데요. 여기서 django를 입력하면 자동 완성이 됩니다. 그러면 아래의 사이트처럼 제외해야 하는 파일이 나옵니다. www.toptal.com/developers/gitignore/api/django 만약 pycharm을 사용하게 되면 위의 사이트에는 idea에 대한 정보가 없어요. 그런 경우는 idea를 추가해야 해요 아래의 주소에 가시..
Django 개발 일기~ Django를 쓸수 밖에 없는 환경에서 개발을 하게 되었다... 일단 자연어 처리를 하기 위해서 파이썬을 사용을 했고 자이썬을 통해서 자바랑 맵핑할려고 했지만 자이썬은 아직 2.x 밖에 안되고... 또한 유지보수 또한 힘들거라 판단이 되어 django로 개발을 하게 되었다. 개발 기간은 2주.... 간단한 페이지긴 하지만 홈페이지가 아니기 때문에 커스텀한 작업이 많이 필요했다. django에서 Model이나 Template를 써서 하기도 했지만... 3개의 테이블을 동시에 조인 한 후에 그룹핑을 해야 하는 부분에서는 막혀서.. 결국은 raw를 사용해서 날 쿼리로 전송해서 할수 밖에 없었다... 다만 2주동안 개발하면서.. 정말 쉽게 개발이 가능한 것이.. 놀라웠다... 자바 웹 개발자로서. 스프링 부트로..
django에서 django 모듈 사용 안하고 파이썬 소스에서 실행시 오류(Feat.Requested setting INSTALLED_APPS) django에서 사용하면 문제가 안되지만. django 모듈에서 사용을 하지 않고 일단 모듈 확인을 위해 파이썬 소스를 실행하면 아래와 같은 오류가 발생한다. django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. 이렇게 발생하면 settings를 설정해야 하는 상황이 옵니다. 해당 실행하려는 소스 파일에서 os.environ.setdef..
django model Table 삭제 방법 django를 하면서.. 처음이다 보니 여러가지 실수를 한다. 테이블 세팅을 잘못하여 테이블을 drop해야 하는 경우가 발생했다. 그냥 데이터베이스에서 지우면 되는줄 알았는데 그렇게 하면 망... 아무것도 변한게 없다. 1. 해당 모델을 만드는 앱의 migrations에서 __init__.py를 제외하고 삭제. 2. DB에서 테이블 삭제 이건 앞에서 해도 무관 3. database를 보면 django_migrations 테이블이 존재한다. 이테이블에서 삭제하고자 하는 django table 정보를 삭제 하면 된다. 만약 member를 삭제 한다면 22번 항목을 삭제 하면 된다. 4. python manage.py makemigrations 실행 5. python manage.py migrate 실행 그러..
내부망 접속 방법 django를 로컬에서는 당연히 접속이 가능하다. 다만 다른 컴퓨터에서 접속을 하려면 설정을 해줘야 한다. 먼저 방화벽을 열어줘야 한다. 접속하려는 내부망의 컴퓨터가 8000 포트가 연결 가능한지 확인 안되어 있다면 제어판에서 설정을 해야 한다. - 제어판\시스템 및 보안\Windows Defender 방화벽 -> 고급설정 -> 인바운드 규칙 -> 새 규칙 -> 포트 -> TCP and 특정 로컬 포트 설정[8000] -> 연결 허용 설정 -> 도메인/개인/공용 -> 이름 설정하고 마침하면 끝 (참고로 윈 10 workstation) 1. runserver 설정 python manage.py runserver 0.0.0.0:8000 이렇게 해서 접속은 되지만. 에러 메세지가 난다.. 접속 권한이 없어서 ..