前提・実現したいこと
Djangoを用いて掲示板サイトの開発を行っています。
UserはGroupを作成でき、全てのGroupには「どのUserが作成したか」という情報をcreate_userとして含みたいです。
発生している問題・エラーメッセージ
IntegrityError at /myapp/group_create/ NOT NULL constraint failed: myapp_group.create_user_id
該当のソースコード
モデルを定義したファイルです。
models
1from django.contrib.auth.models import User 2 3class Group(models.Model): 4 title = models.CharField('GroupName',max_length=50,validators=[MinLengthValidator(1)]) 5 group_img = models.ImageField(upload_to='<アプリケーション名>/groups', default='/media/<アプリケーション名>/groups/group_defo.jpg') 6 create_user = models.ForeignKey(User, on_delete=models.CASCADE) 7 8 def __str__(self): 9 return self.title
formを定義したファイルです。
forms
1class Group(models.Model): 2 title = models.CharField('GroupName',max_length=50,validators=[MinLengthValidator(1)]) 3 group_img = models.ImageField(upload_to='myapp/groups', default='/media/myapp/groups/group_defo.jpg') 4 create_user = models.ForeignKey(User, on_delete=models.CASCADE) 5 6 def __str__(self): 7 return self.title
viewを定義したファイルです。
views
1def GroupCreate(request): 2 #送信内容を基にフォームを作る 3 form=GroupCreateForm(request.POST or None) 4 5 #method=POST(送信ボタンを押下)時、入力内容に問題がなければ 6 if request.method=='POST' and form.is_valid(): 7 create_user = request.user 8 form.save() 9 return redirect('myapp:group_list') 10 11 #通常時のページアクセスや入力内容に誤りがあればまたページを表示 12 context={ 13 'form':form 14 } 15 return render(request,'myapp/group_create.html',context)
必要な情報がございましたら、お伝えください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。