我的models.py中有这个:
def get_absolute_url(self):
return "/subject/%s/graphs/%s/" % (self.subject, self.slug)
其中 subject 和 slug 相应地是:
subject = models.ManyToManyField(Subject)
slug = models.SlugField(max_length=120, unique=True)
而且我知道我在get_absolute_url()
函数中的方法是错误的,并返回了Subject对象的列表。
我只想访问一个元素(不管是哪个元素),这样我就可以构造图形的 url,但我不知道该怎么做。我已经尝试了几件事,但它们不起作用。
更新:
得到了解决方案:
def get_absolute_url(self):
for e in self.subject.all():
return "/subject/%s/graphs/%s/" % (e.url_id, self.slug)
它是这样工作的。没有必要检查是否有主题,因为总会有。