from django.db import models from django.conf import settings TYPE_CHOICES = [ ('article', '文章'), ('tool', '工具'), ('learn', '学习'), ('api', 'API接口'), ('utility', '实用工具'), ] class BrowsingHistory(models.Model): user = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='browsing_history', verbose_name='用户' ) type = models.CharField(max_length=10, choices=TYPE_CHOICES, verbose_name='类型') title = models.CharField(max_length=200, verbose_name='标题') description = models.TextField(blank=True, default='', verbose_name='描述') image = models.URLField(blank=True, default='', verbose_name='封面图URL') category = models.CharField(max_length=50, blank=True, default='', verbose_name='分类') link = models.CharField(max_length=200, verbose_name='跳转路径') viewed_at = models.DateTimeField(auto_now=True, verbose_name='浏览时间') class Meta: verbose_name = '浏览记录' verbose_name_plural = '浏览记录' ordering = ['-viewed_at'] def __str__(self): return f'{self.user} - {self.title}'