Я пишу запрос, который пытается получить список пользователей и возвращает их, если они были созданы в течение 30 дней (1 месяц).
вот что я пробовал,
models.py
class Showcase(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.DO_NOTHING, related_name="Showcases")
content = models.TextField(null=True)
created_on = models.DateTimeField(auto_now_add=True)
slug = models.SlugField(max_length=255, unique=True)
serializers.py
class ShowcaseSerializer(serializers.ModelSerializer):
user = serializers.SlugRelatedField(read_only=True, slug_field='slug')
created_on = serializers.SerializerMethodField(read_only=True)
slug = serializers.SlugField(read_only=True)
class Meta:
model = Showcase
exclude = ['id']
def get_created_on(self, instance):
return instance.created_on.strftime("%d %B %Y ; %H:%M:%S %Z")
views.py
class MostLikedMonthShowcasesView(generics.ListAPIView):
'''
Most liked showcases created within the past month
'''
serializer_class = ShowcaseSerializer
permission_classes = [AllowAny]
def get_queryset(self):
last_30_days = datetime.datetime.today() - datetime.timedelta(30)
return Showcase.objects.filter(created_on__lte=datetime.datetime.today(), created_on__gt=datetime.datetime.today()-datetime.timedelta(days=30)).values('created_on')
когда я запускаю приведенный выше код, я получаю 'dict' object has no attribute 'created_on'