回答編集履歴

1

「追記 1 」の部分を追加しました。

2019/04/10 12:27

投稿

gh640
gh640

スコア1407

test CHANGED
@@ -19,3 +19,27 @@
19
19
 
20
20
 
21
21
  (余談については別問題だと思いますので、この回答ではメインの問題の解消に専念します)
22
+
23
+
24
+
25
+ ### 追記 1
26
+
27
+
28
+
29
+ > 上記エラーについてご意見をいただけないでしょうか?
30
+
31
+
32
+
33
+ そうですね、 `OneToOneField` を使っているときに「 NOT NULL constraint failed 」というエラーが出た場合の解決策は、必ずしも `null=True` とすることではありません。
34
+
35
+
36
+
37
+ おそらく今回の場合は `MemoCreateView` の中で `memo` オブジェクトを永続化するときに `user` フィールドを適切にセットされていないために起こっているのではないかと思いますが、満たすべき仕様と問題の実態にあわせて適切な解決策を採る必要があるものと思います。
38
+
39
+
40
+
41
+ ちなみに、 model object の関連フィールドにカレントユーザをセットするには、次のページで紹介されているようなコードを記述する必要があります(あくまでもいちサンプルです)。
42
+
43
+
44
+
45
+ - [how to do i automatically set the user field to current user in django modelform - Stack Overflow](https://stackoverflow.com/questions/46940623/how-to-do-i-automatically-set-the-user-field-to-current-user-in-django-modelform)