2013-05-28 2 views
1

및 내 질문을 읽을 시간을내어 주셔서 감사합니다.장고 googleappengine 조용한 모델 저장 실패 json_field

사용자 프로필을 업데이트하는보기가 있습니다. 나는

profile = request.user.get_profile() 

를 통해 프로필을 검색하고 수정할 수 있습니다. 그런 다음 save 메서드를 호출합니다.

profile.save() 

그러나 변경 내용이 저장되지 않습니다. 그런 다음 내보기가 사용자를 다른 페이지로 리디렉션합니다. 이 이후의 페이지로드에서 발생되지 않았는지 확인하기 위해, 다시) (get_profile 사용하여 프로필을 다시 선택하고, 내가

logging.info(profile.__dict__) 

를 호출 할 때 나는 변경 "받아"하지 않은 것을 알 수있다. 오류가 발생하지 않으며 기록되지 않습니다. 여기

는 세 개의 필드 내가 변화하고 있습니다에 대한 정의입니다 :이 서비스에서 반환되고 있기 때문에

account = models.CharField(max_length=255, blank=True, default='', db_index=True) 
token = models.CharField(max_length=512, blank=True, default='') 
profile = JSONField(blank=True, default={}) 

json으로 유효해야하고, 나는에서 모델을 생성하는 동일한 코드를 사용 처음.

모델에 사용자 지정 유효성 검사가 없으므로이 문제가 발생할 수있는 것은 없습니다.

누구에게 의견이 있습니까?

+0

장고 get_profile의 결과를 캐시 당신을 위해 내가 모델의 방법을 저장 무시했고, 저장 방지 된 방법에 버그가 있다는 것을 잊어 :(

!

감사합니다(). 캐싱 문제가 발생하는지 확인하려면 get_profile에 대한 호출을 ORM 쿼리 (예 : MyProfile.objects.get (user = request.user))로 바꿔보십시오. 문제가 해결되면 두 번째 호출이 get_profile은 캐시 된 객체를 반환합니다. –

+0

이미 시도했지만 도움이되지 않았지만 감사합니다! – hgolov

답변

0

죄송합니다. 시간!