This commit is contained in:
2026-03-30 18:50:54 -06:00
parent 0219a05142
commit a049ca7f2b
3 changed files with 24 additions and 1 deletions

View File

@@ -6,7 +6,7 @@ from ninja.errors import HttpError
from ninja.pagination import paginate
from django.shortcuts import get_object_or_404
from django.contrib.auth.decorators import login_required
from django.db.models import Avg, Count, IntegerField, Max, OuterRef, Q, Subquery
from django.db.models import Avg, Count, F, IntegerField, Max, OuterRef, Q, Subquery
from .schemas import (
@@ -326,6 +326,10 @@ def get_submission(request, submission_id: UUID):
),
id=submission_id,
)
Submission.objects.filter(pk=submission.pk).update(
view_count=F("view_count") + 1
)
submission.view_count += 1 # 更新内存中的值,避免再次查询
return submission

View File

@@ -0,0 +1,18 @@
# Generated by Django 6.0.1 on 2026-03-31 00:42
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('submission', '0008_add_zone'),
]
operations = [
migrations.AddField(
model_name='submission',
name='view_count',
field=models.PositiveIntegerField(default=0, verbose_name='查看次数'),
),
]

View File

@@ -64,6 +64,7 @@ class Submission(TimeStampedModel):
db_index=True,
verbose_name="分区",
)
view_count = models.PositiveIntegerField(default=0, verbose_name="查看次数")
class Meta:
ordering = ("-created",)