0

前または次の項目に簡単に移動できるように、詳細ページに NEXT および PREV リンクを配置したいと考えています。完全に非現実的であるため、DATEまたはIDで実行したくありません。

私は使いたくない:

Model.get_next_by_FOO(**kwargs)
Model.get_previous_by_FOO(**kwargs)

たとえば、数値を使用して列を設定し、それで並べ替えるにはどうすればよいですか。整数を実行すると、次のようにソートされます。

1 12 13 14 2 21 24 3 など...どちらも機能しません。

CMS でユーザーが順序を指定する最も簡単な方法は何でしょうか。並べ替えると、NEXT と PREV を使用できます。

models.py

class Art(models.Model):
    pub_date = models.DateTimeField('date published')
    title = models.CharField(max_length=200)
    title_url = models.SlugField(max_length=200)
    image = models.ImageField(blank=True, null=True, upload_to='uploaded_images')
    graphics = models.ImageField(upload_to='images/art/',blank=True)
    def image_thumbnail(self):
        return '<a href="/media/%s" target="_blank"><img width="160px" src="/media/%s"/></a>' % (self.graphics, self.graphics)
    image_thumbnail.allow_tags = True
    image_thumbnail.short_description = 'graphics'
    description = models.TextField(blank=True)

    def __unicode__(self):
        return self.title

ビュー.py

def artdetail(request, art_title_url):
    art = Art.objects.all().filter(title_url=art_title_url)

    return render_to_response('nart-detail.html', {'art':art)

この例では、テンプレートで次のボタンと前のボタンを作成して、次のオブジェクトまたは前のオブジェクトを取得するにはどうすればよいですか。最後に到達すると、次のボタンが非表示になります....

私の主な関心事は、おそらくソート(数値列)で適切な方法にすることです。私は間違っていると考えています。ユーザーが簡単なカスタマイズに満足していることを達成する最良の方法を知りたいです。

4

1 に答える 1