我有一个Survey应用程序,其中包括Survey模型和Response模型。
class Survey(models.Model):
name = models.CharField(max_length=400)
is_published = models.BooleanField()
class Response(models.Model):
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
survey = models.ForeignKey(Survey, related_name="responses")
我还有一个 admin 视图,用于显示所有用户,并显示用户已提交的最新响应
class UserAdmin(admin.ModelAdmin):
list_display = ('username', 'latest_response')
def latest_response(self, obj):
return obj.response_set.latest('created')
我只有一个调查,我将每季度发布一次调查回复。
目前,UserAdmin视图的latest_response返回Survey(charField)的名称。
我想要做的是使用响应的已创建或已更新(以最新者为准),并在UserAdmin中将其显示为“Q1 2018”,例如
我知道这可以通过使用日期函数提取的Django 2.0相对容易地实现,但是我如何使用Django 1.11做到这一点?
答案 0 :(得分:1)
在1.x中,您可以使用以下逻辑
"Q%d %d" %(((self.created.month-1)//3)+1, self.created.year)