|
from django.db import models
|
|
from django.contrib.auth.models import User
|
|
from django.conf import settings # 使用 Django 的配置抽象层
|
|
|
|
# 帖子模型
|
|
class Post(models.Model):
|
|
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
|
|
content = models.TextField(verbose_name="内容")
|
|
image = models.ImageField(upload_to='post_images/', blank=True, null=True)
|
|
video = models.FileField(upload_to='post_videos/', blank=True, null=True)
|
|
like_count = models.PositiveIntegerField(default=0) # 👍 新增点赞字段
|
|
comment_count = models.PositiveIntegerField(default=0) # 👍 新增评论字段
|
|
favorite_count = models.PositiveIntegerField(default=0) # 👍 新增点赞字段
|
|
created_at = models.DateTimeField(auto_now_add=True)
|
|
|
|
def __str__(self):
|
|
return f"{self.user.username} 的帖子"
|
|
|
|
|
|
|
|
# 互动模型(点赞、评论、收藏)
|
|
class Like(models.Model):
|
|
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
|
|
post = models.ForeignKey(Post, on_delete=models.CASCADE)
|
|
created_at = models.DateTimeField(auto_now_add=True)
|
|
|
|
class Comment(models.Model):
|
|
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
|
|
post = models.ForeignKey(Post, on_delete=models.CASCADE)
|
|
content = models.TextField()
|
|
created_at = models.DateTimeField(auto_now_add=True)
|
|
|
|
class Favorite(models.Model):
|
|
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
|
|
post = models.ForeignKey(Post, on_delete=models.CASCADE)
|
|
created_at = models.DateTimeField(auto_now_add=True)
|