Django 1.11 最适合用于多种用途的 "quarter" 逻辑

Django 1.11 best to approach to "quarter" logic for multiple purposes

我有一个包含调查模型和响应模型的调查应用程序。

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 returns 调查 (charField) 的 name

我想做的是使用响应的 createdupdated (以最新者为准),并在 UserAdmin 中显示例如 "Q1 2018"。

我知道这可以通过 Django 2.0 使用日期函数提取相对容易地实现,但是我如何使用 Django 1.11 来实现?

在1.x中你可以使用下面的逻辑,

"Q%d %d" %(((self.created.month-1)//3)+1, self.created.year)