私はmodels.pyにこれを持っています:
def get_absolute_url(self):
return "/subject/%s/graphs/%s/" % (self.subject, self.slug)
件名とスラッグはそれに応じて次のとおりです。
subject = models.ManyToManyField(Subject)
slug = models.SlugField(max_length=120, unique=True)
関数でのアプローチget_absolute_url()
が間違っていることはわかっており、 Subjectオブジェクトのリストを返します。
グラフの URL を作成できるように、1 つの要素にのみアクセスしたいのですが (どの要素であるかは問題ではありません)、その方法がわかりません。私はいくつかのことを試しましたが、うまくいきません。
アップデート:
解決策を得ました:
def get_absolute_url(self):
for e in self.subject.all():
return "/subject/%s/graphs/%s/" % (e.url_id, self.slug)
それはこのように動作します。常に存在するため、サブジェクトがあるかどうかを確認する必要はありません。