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
可以有多个 Releases
。 Release
可能是历史版本,也可能是计划中的未来版本(即将发布)
在我的 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 }}
在模板中调用它。
我有以下 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
可以有多个 Releases
。 Release
可能是历史版本,也可能是计划中的未来版本(即将发布)
在我的 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 }}
在模板中调用它。