Django 1.11最适合用于多种用途的“四分之一”逻辑

Django 1.11最适合用于多种用途的“四分之一”逻辑,django,datetime,django-1.11,Django,Datetime,Django 1.11,我有一个调查应用程序,其中包括一个调查模型和一个响应模型 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.Da

我有一个调查应用程序,其中包括一个调查模型和一个响应模型

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")
我还有一个管理视图,用于显示所有用户,并显示用户提交的最新响应

class UserAdmin(admin.ModelAdmin):
    list_display = ('username', 'latest_response')

    def latest_response(self, obj):
        return obj.response_set.latest('created')
我只有一个调查,我将发布的回应每季度

当前,UserAdmin视图的最新_响应返回调查字段的名称

我想做的是使用创建或更新的响应,以最新的为准,并在UserAdmin中显示为2018年第1季度


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

在1.x中,您可以使用以下逻辑

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

Q%d%d%dt.month-1//3+1,dt.year,其中dt是日期时间实例。谢谢,可以使用。我在类Responsemodels中插入了以下内容。模型对象:def _str__self:msg=uQ%d%d%self.created.month-1//3+1,self.created.year return msg