新しいモデルを追加すると以下の警告が表示されて、モデルの追加ができない(2023/02/28)
コマンドライン
It is impossible to add a non-nullable field 'text' to sentencedb without specifying a default.
This is because the database needs something to populate existing rows.
説明
既存のレコードにはNULL禁止であるにも関わらず、NULLが入ってしまう。
そこで既存のレコードはどうするかを聞かれる
コマンドライン
1) Provide a one-off default now (will be set on all existing rows with a null value for this column)
2) Quit, and let me add a default in models.py
2回目以降のpython mange.py makemigrations
で発生する可能性あり
解決策
models.pyで定義したフィールドにdefault値を指定する
参考記事
https://noauto-nolife.com/post/django-non-nullable/
Template
で{{% url 'portfolio_app:worksTemplate pk=work.pk %'}}
と記述したら、NoReverseMatch at/
エラーが表示される(2023/04/15)
解決策
×{{% url 'portfolio_app:worksTemplate pk=work.pk %'}}
〇{{% url 'portfolio_app:worksTemplate' pk=work.pk %}}
pk=
までシングルクォーテーションでくくる必要がなかった。
views.py
でpk
を認識できない
解決策1
(関数ベースビューの場合)引数にpk
を追加する
views.py
#def worksTemplate(request):
def worksTemplate(request, pk):#引数にpkを追加
works = get_object_or_404(Post, pk=pk)
return render(request, 'portfolio_app/worksTemplate.html', {'works' : works})