시간 값이있는 데이터를 수집하고 자동으로 계산하여 값을 직접 컴파일하기 위해 Postgres 데이터베이스에 여러 테이블을 만들었습니다. 값을 수정 한 경우 올바른 테이블을 업데이트하는 트리거를 사용하여 모든 작업이 완료됩니다.django 및 postgresql 트리거 관련 문제
예를 들어, @ 2017-11-06 08:00으로 측정 된 값을 업데이트하거나 삽입하면 트리거가이를 감지하고 일일 계산을 위해 업데이트를 수행합니다. 다른 사람이 월별 계산을 위해 업데이트를 수행하므로 ...
지금은 모든 것이 잘 작동하고 있습니다. 순수한 SQL 명령 (INSERT/UPDATE/DELETE)을 사용하여 측정 값을 업데이트하기 위해 python/Qt에서 데이터 수집이 수행되고 자동 계산이 작동합니다. pgAdmin III와 같은 인터페이스를 사용하여 값을 변경하면 모든 것이 잘 작동합니다.
내 문제는 django에서 데이터를 표시하고 수정하기위한 개발과 함께 제공됩니다. 지금까지 데이터를 수정하지 않고 데이터를 표시 했으므로 아무런 문제가 없었습니다. 하지만 지금은 무슨 일이 벌어지고 있는지 이해가 안돼 ...
내가 model.save()를 사용하여 새 값을 삽입하면 eveything이 작동합니다. 시간 측정 값이 기록되고 일일, 월간 및 연간 계산이 수행됩니다. 그러나 기존 값을 업데이트하면 트리거에 수정 내용이 표시되지 않는 것처럼 보입니다. 즉, 시간 측정 값이 업데이트되어 model.save()가 작업을 수행하지만 일일 계산 트리거가 해당 테이블로 시작되지 않은 것처럼 보입니다. 업데이트되지 않았습니다. 앞서 말했듯이 pgAdmin III로 수동으로 동일한 값을 업데이트하면 시간당 값이 업데이트되고 일일 계산이 완료됩니다.
django의 업데이트 프로세스가 트리거를 사용하지 않는 것 같은데 이해가 안됩니다 ... 이전의 저장 알고리즘 (select_on_save = True)을 사용하려했지만 성공하지 못했습니다. 데이터베이스의 django 계정이 모든 테이블, 트리거 및 함수를 소유하고 있습니다. 그는 모든 트리거와 기능에 대한 실행 권한을 가지고 있습니다. 그리고 다시, django로 항목을 삽입하는 것은 동일한 트리거와 함수를 사용하여 작동합니다.
순간에 대한 나의 해결책은 일을 할 파이썬/Qt를 직접 SQL 명령어를 사용하는 것입니다,하지만 난 API를 장고에만 사용할 수하지 실망 조금 ...
는 사람이 몇이 있습니까 느낌 이 문제를 디버그하거나 해결할 생각인가?
스택 오버플로에 오신 것을 환영합니다! 이 질문을 단순화하고 코드가 수행하는 것과 함께 발생한 문제를 제시해주십시오. – TheM00s3
감사합니다. 방금 문제를 발견했습니다 (그것은 시간대 조작의 실수였습니다). 내 질문을 닫거나 삭제 해주십시오. 장애가 발생하면 죄송합니다. –
@ LionelMANSUY 직접 질문에 답변하고 답변을 수락 한 것으로 표시하십시오. 이렇게하면 해결 된 것으로 표시되며 질문을 이해하고 답변하려고하는 사람들의 시간을 낭비하지 않습니다. – Tometzky