下記サイトにあるテンプレートアプリを使用してアプリを作成しています。
https://qiita.com/okoppe8/items/4cc0f87ea933749f5a49
実現したいこと
新規登録をするページでユーザーを選択する項があるのですが、下図のように --- と表示させず
現在ログインしているユーザーをデフォルトでセットするにはどのようにすれば良いのでしょうか?
例:admin でログインしているとフォームに既に admin が入っている状態にしたい
ソースコード
models
1# ユーザーを選択する項 2created_by = models.ForeignKey( 3 User, 4 #default =, 5 verbose_name='ユーザーを選択', 6 related_name='CreatedBy', 7 on_delete=models.CASCADE, 8)
views
1class ItemCreateView(LoginRequiredMixin, CreateView): 2 """ 3 登録画面 4 """ 5 model = Item 6 form_class = ItemForm 7 success_url = reverse_lazy('index') 8 9 def form_valid(self, form): 10 """ 11 登録処理 12 """ 13 item = form.save(commit=False) 14 item.created_by = self.request.user 15 item.created_at = timezone.now() 16 item.updated_by = self.request.user 17 item.updated_at = timezone.now() 18 item.save() 19 20 return HttpResponseRedirect(self.success_url)
試したこと
ユーザーIDを views.py で取得して default=UserId のようにすればいけるのではないかと考えているのですが、views.py の使い方を理解出来ておらず、ユーザーIDの取得の仕方、取得した後 models.py に値を渡す方法などが分からず詰まっております。
お手数をおかけしますが、ご教授をお願い致します
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/19 04:52
2021/01/19 05:20
2021/01/21 02:00
2021/01/21 02:25