我有以下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视图中,我目前返回一个应用程序名称表。 我想返回一个应用程序名称表和下一个即将发布的日期。如果没有即将发布的版本,它应该是空白的。
我的观点目前看起来像这样:
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))
我怎样才能提供下一个即将发布的版本'对于每个应用程序,它可以在模板中呈现吗?
答案 0 :(得分:1)
在应用程序上提供方法
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 }}
在模板中调用此内容。