Django - 按日期排序外键对象

Django - sorting foreign key objects by date

我有以下 django 模型:

class Application(models.Model):
   name = models.CharField(max_length=50)      

class Release(models.Model):
   application = models.ForeignKey(Application)
   release_date = models.DateField("Release Date")

即一个 Application 可以有多个 ReleasesRelease 可能是历史版本,也可能是计划中的未来版本(即将发布)

在我的 django 视图中,我目前 return 一个 table 的应用程序名称。 我想 return 一个 table 的应用程序名称和下一个即将发布的日期。如果没有即将发布的版本,它应该只是空白。

我的视图目前是这样的:

def index(request): 
  all_apps = Application.objects.all()
  template = loader.get_template('index.html')
  context = RequestContext(request, {'all_apps': all_apps})
  return HttpResponse(template.render(context))

我怎样才能同时为每个应用程序提供 'next upcoming release',以便它可以在模板中呈现?

在应用程序上提供一个方法

class Application(models.Model):
    name = models.CharField(max_length=50)

    def next_upcoming_release(self):
        future_releases = self.release_set.filter(release_date__gte=datetime.datetime.now())
        return future_releases.order_by('release_date').first()

您可以使用 {{ application.next_upcoming_release }} 在模板中调用它。