У меня есть приложение 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')
У меня есть только один опрос, который я буду выпускать для Response каждый квартал.
В настоящее время last_response представления UserAdmin возвращает имя опроса (charField).
Что я хотел бы сделать, так это использовать ответ created или updated (в зависимости от того, что будет последним) и в UserAdmin отобразить это, например, как «Q1 2018».
Я знаю, что это может быть достигнуто относительно легко с помощью Django 2.0 с использованием извлечения функции даты, но как мне это сделать с помощью Django 1.11?