Get_next_by_FOO 方法错误地返回链接

时间:2021-08-01 19:57:14

标签: django web backend

我的问题是我指定了 get_next_by_FOO 方法,但链接无法正常工作。

#models.py

class Project(models.Model):
    user = ForeignKey(settings.AUTH_USER_MODEL, on_delete=CASCADE, db_index=True)
    name = CharField(max_length=150, db_index=True)
    cover = models.ImageField( upload_to="project_photos/", null=True, blank=True
    )
    site = URLField( max_length=200)
    description = TextField()
    note = CharField( max_length=150)
    created_at = DateTimeField(auto_now_add=True)


    def next(self):
        return self.get_next_by_created_at()

    def pre(self):
        return self.get_previous_by_created_at()

#html

<a href="{{ project.next }}">Next project</a>
<a href="{{ project.pre }}">Previous project</a>

它给出了以下链接:

http://localhost:8000/projects/8/%D0%9D%D0%BE%D0%B2%D0%B0%D1%8F%20%D1%80%D1%83%D0%B1% D1%80%D0%B8%D0%BA%D0%B0

模型的id不变,链接末尾追加下一个或上一个模型实例的名称

1 个答案:

答案 0 :(得分:0)

<a href="{% url 'project_detail_url' project.next.pk %}">Next project</a>
<a href="{% url 'project_detail_url' project.pre.pk %}">Previous project</a>