我已经构造了一个视图,即子类Django的ListView。目前,它运行良好。它提供了我的艺术品类中的对象列表,我可以在模板中迭代这些对象。
但是,我现在已经包含了一个(不是必需的)外键(系列),当我显示艺术品对象时,我想将它们按序列分组。我也想订购他们的日期,同时将任何艺术品对象与series=None在其中(根据日期也)。
如下所示:
我的模特长得像这样:
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!)。如有任何建议或建议,将不胜感激。
发布于 2013-10-04 08:24:39
我只需要使用一个基于普通函数的视图,但是如果需要,可以使用ListView的get_context_data()方法返回任意数据。
ListView:
def get_context_data(self,**kwargs):context = super(ArticleListView,self).get_context_data(**kwargs) queryset = self.get_queryset() context‘list_list_sorted’= sorted(queryset,key=key_function)返回上下文https://stackoverflow.com/questions/19176314
复制相似问题