반응형

Django : 1.11

Oracle : 12g client

 

image 파일 저장 시 제목과 같은 오류가 계속 발생

검색해보면 ODBC 10에서 발생하는 오류라는 내용과

컬럼의 사이즈가 작아서 그렇다는 내용이 있었지만,

12g클라이언트 사용중이며, 테이블의 이미지컬럼이 BLOB이였기 때문에 해당 없었다.

 

Session 부족이라는 얘기도 있어서 저장할 때 이미지를 제외한 부분 먼저 저장 후 이미지 부분 별도로 저장하였더니 정상처리 되었다.

 

변경 전

data = Table명(컬럼= 컬럼값, 컬럼= 컬럼값, 컬럼= 컬럼값, 컬럼= 컬럼값, 컬럼= 컬럼값, 컬럼= 컬럼값, pic = pic_data)

data.save()

 

변경 후

data = Table명(컬럼= 컬럼값, 컬럼= 컬럼값, 컬럼= 컬럼값, 컬럼= 컬럼값, 컬럼= 컬럼값, 컬럼= 컬럼값)

data.save()

data.pic = pic_data

data.save()

반응형

'개발 > django' 카테고리의 다른 글

Queryset dict list  (0) 2019.04.11
django meta ordering cast  (0) 2019.02.20
json 으로 보낸 데이터 처리하기  (0) 2019.02.08
try except 에러 메세지 로그 남기기  (0) 2019.02.08
libclntsh.so 에러  (0) 2019.02.07
반응형

Queryset에서 결과값이 dict인지 list인지는 values에 따라 다르다.

values()를 붙이면 dict결과

안붙이면 list 결과

 

참고:

https://brownbears.tistory.com/277

반응형
반응형

models.py 파일에서 모델 meta 옵션에 정렬 추가

class Meta:

    ordering = ['order_date']


정렬인데 형변환하여 정렬 (oracle cast와 같은 기능)

from django.db.models.functions import Cast

class Meta:     ordering = [Cast('columnname', models.IntegerField()]


참고

- https://docs.djangoproject.com/en/2.1/ref/models/options/#ordering

- https://docs.djangoproject.com/en/1.11/ref/models/database-functions/#cast

반응형
반응형

import json


load_json = json.loads(request.body.decode('utf8'))

user_key = load_json.get('user_key')



- utf-8이라고 했을때는 자꾸 에러 났었다.

- load_json['user_key'] 로 할 경우 보낸응답에 user_key가 없으면 에러발생한다.

위 예시처럼 get으로 받아와야 에러 없이 None값으로 받아온다.

try로 걸어줘도 되지만 if 조건에 넣고 싶어서 get으로 다 수정했다.



참고

- https://ohohs.tistory.com/41

반응형

'개발 > django' 카테고리의 다른 글

Queryset dict list  (0) 2019.04.11
django meta ordering cast  (0) 2019.02.20
try except 에러 메세지 로그 남기기  (0) 2019.02.08
libclntsh.so 에러  (0) 2019.02.07
putty 깨짐  (0) 2019.02.07
반응형

try except 걸면 화면에서 오류는 안나는데 나는 오류를 확인하고 싶어서 검색해봤다.


진짜 간단하게 하려면 저렇게 하면된다.


try:
    # your code
except Exception as e:
    print(e)


나는 자세한걸 원하고 로그로 보고 싶어서 아래코드로 작성했다.


import traceback


try:

# your code

except Exception as e:

trace_back = traceback.format_exc()

message = str(e)+ "\n" + str(trace_back)

logger.error('[FAIL] %s', message)



참고

- https://stackoverflow.com/questions/7791261/django-catch-all-errors-and-display-the-type-of-error-and-message

반응형

'개발 > django' 카테고리의 다른 글

django meta ordering cast  (0) 2019.02.20
json 으로 보낸 데이터 처리하기  (0) 2019.02.08
libclntsh.so 에러  (0) 2019.02.07
putty 깨짐  (0) 2019.02.07
(98)Address already in use  (0) 2019.02.07

+ Recent posts