[Django] ValueError: save() prohibited to prevent data loss due to unsaved related object
2022. 5. 18. 16:38ㆍTIL/Error
Project
테이블과 Subject
테이블이 OneToMany로 연결되어 있는데
project = Project.objects.first()
subject = Subject.objects.first()
로 각 객체를 가져와서(실제로는 first()
사용 안함) 담아주었다. 그리고 나서 project에 해당하는 subject가 수정되면 project.subject.id = 3
이런 식으로 변경해 주었는데 해당 에러가 났다. ValueError: save() prohibited to prevent data loss due to unsaved related object 'subject'.
찾아 본 결과 project.subject.id
는 subject의 id가 변경된 것이었고 project의 subject 외래키 필드를 바꾸기 위해서는 그냥 project.subject = <subject 3번에 해당하는 subject 객체>
이런 식으로 변경하면 된다.
반응형
'TIL > Error' 카테고리의 다른 글
[Ubuntu] couldn't communicate with the NVIDIA driver (0) | 2022.08.16 |
---|---|
[Django] Application labels aren't unique (0) | 2022.04.11 |