• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
  • Skip to footer

AI活用エンジニアへの道

生成AI時代のエンジニアの生き方を考えるメディア(作成途中)

  • コラム
  • 生成AI
  • プログラミング
    • Python入門
    • Flask入門
    • Django入門
  • プロフィール
Home / プログラミング / Django / Djangoで”Either provide a url or define a get_absolute_url method on the Model.”と出たとき

Djangoで"Either provide a url or define a get_absolute_url method on the Model."と出たとき

DjangoのCreateView, UpdateViewを利用していると"ImproperlyConfigured Either provide a url or define a get_absolute_url method on the Model."

と表示される時がある。
この場合の解決法について、以下に記述する。

 

以下のような画面が表示される。

これは、Create, Updateした後に、遷移先がないことによるエラーである

 

画面上にエラーが出るのみで実際にDBを確認するとCreate, Updateされている。

 

エラーをなくすには、models.pyにget_absolute_url(self)関数を定義して、django.urls.reverseを使い、Create, Update後の遷移先を指定すればよい。

 

以下のように記述する。

  • models.py
from django.db import models
from django.urls import reverse

class School(models.Model):
    name = models.CharField(max_length=256)
    principal = models.CharField(max_length=256)
    location = models.CharField(max_length=256)

    def __str__(self):
        return self.name

    def get_absolute_url(self):
    # get_absolute_urlで遷移先を指定
        return reverse("basic_app:detail", kwargs={'pk': self.pk})

このように設定すると、Create, Update後にbasic_app:detail/pk=self.pkに遷移するようになり、エラーがなくなる。

関連記事

現役エンジニアがDjangoに関する本を5つ紹介
現役エンジニアがDjangoに関する本を5つ紹介
WindowsでDjango、Anaconda、VSCodeのインストールとDjangoを開発する環境の構築をする
WindowsでDjango、Anaconda、VSCode…
MacでDjango、Anaconda、VSCodeのインストールとDjangoを開発する環境の構築をする
MacでDjango、Anaconda、VSCodeのインス…
DjangoのFormに初期値を設定する方法
DjangoのFormに初期値を設定する方法
DjangoでModelのsave前後で処理を行うSignalのpre_save, post_saveの使い方
DjangoでModelのsave前後で処理を行うSigna…
DjangoのModelにSlugFieldを利用する。その利用方法と
DjangoのModelにSlugFieldを利用する。その…

Primary Sidebar

人気記事

  • 1
    PyCharm,IntelliJのおすすめプラグイン一覧
  • no image 2
    Python未経験だが、フリーランスの案件に採用さ…
  • 3
    ITエンジニアとしてスキルを高めるためのUdemy講…
  • 4
    アメリカのシリコンバレーでプログラミングを無…

特集記事

  • 1
    Cursorの使用のポイントとコツ(コード補完、イ…
  • 2
    ITエンジニアとしてスキルを高めるためのUdemy講…

目次

StartCode ロゴ
AI時代のエンジニアを最速で育てる
法人向けIT研修で即戦力を育成しています。詳しくはお問い合わせください。
▶ 詳細はこちら
Django講座
【Udemy】Django入門講座(0からDjangoを学習: Python講座つき)
受講生6500人ほどの人気講座。<strong>View, Template, Model, Cla...
詳細 ▶

Footer

利用規約