Django の ListView をサブクラス化するビューを作成しました。現在、正常に動作しています。テンプレートで繰り返し処理できるアートワーク クラスのオブジェクトのリストを提供します。
ただし、(必須ではない) 外部キー (シリーズ) を含めたので、アートワーク オブジェクトを表示するときにシリーズごとにグループ化したいと考えています。また、series=None のアートワーク オブジェクトを散在させながら、日付順に並べたいと思います (日付にも応じて)。
このような:
- 作品(2013年12月) (連載=なし)
- 作品(2013年12月) 作品(2013年12月) 作品(2013年11月) (series='series1' 11/2013)
- 作品(2013年10月) (連載=なし)
- 作品(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!) は初めてです。アドバイスや提案をいただければ幸いです。