Files
chunyu_project/history/serializers.py
T
2026-08-05 23:59:15 +08:00

30 lines
1.0 KiB
Python

from rest_framework import serializers
from django.utils import timezone
from datetime import timedelta
from .models import BrowsingHistory
class BrowsingHistorySerializer(serializers.ModelSerializer):
class Meta:
model = BrowsingHistory
fields = ['id', 'type', 'title', 'description', 'image', 'category', 'link', 'viewed_at']
read_only_fields = ['viewed_at']
class BrowsingHistoryCreateSerializer(serializers.ModelSerializer):
class Meta:
model = BrowsingHistory
fields = ['type', 'title', 'description', 'image', 'category', 'link']
def create(self, validated_data):
user = self.context['request'].user
link = validated_data.get('link', '')
today = timezone.now().date()
existing = BrowsingHistory.objects.filter(
user=user, link=link, viewed_at__date=today
).first()
if existing:
existing.save()
return existing
return BrowsingHistory.objects.create(user=user, **validated_data)