1

Django の ListView をサブクラス化するビューを作成しました。現在、正常に動作しています。テンプレートで繰り返し処理できるアートワーク クラスのオブジェクトのリストを提供します。

ただし、(必須ではない) 外部キー (シリーズ) を含めたので、アートワーク オブジェクトを表示するときにシリーズごとにグループ化したいと考えています。また、series=None のアートワーク オブジェクトを散在させながら、日付順に並べたいと思います (日付にも応じて)。

このような:

  1. 作品(2013年12月) (連載=なし)
  2. 作品(2013年12月) 作品(2013年12月) 作品(2013年11月) (series='series1' 11/2013)
  3. 作品(2013年10月) (連載=なし)
  4. 作品(2013年12月) 作品(2013年12月) 作品(2013年11月) (series='series2' 09/2013)

私のモデルは次のようになります。

class Series(models.Model):
    title = models.CharField(max_length=200, unique=True)
    date = models.DateTimeField(default=timezone.now(), editable=False)
    def __unicode__(self):
        return self.title

class Artwork(models.Model):
    title = models.CharField(max_length=200, unique=True)
    series = models.ForeignKey(Series, blank=True, null=True, on_delete=models.SET_NULL)
    date = models.DateTimeField(default=timezone.now(), editable=False)
    image = models.ImageField(upload_to='artwork_images/%Y/%m/')
    def __unicode__(self):
        return self.title

ビューがネストされたリストのようなものをテンプレートに提供することである場合、どうにかして私が望むことを達成できると思います。これは ListView で可能ですか? それとも、関数ベースのビューを構築する必要がありますか?

これが素朴な質問のように思われる場合は、お詫び申し上げます。私は Django/Python の世界 (および Stackoverflow!) は初めてです。アドバイスや提案をいただければ幸いです。

4

1 に答える 1