Skip to content

Commit 4137db0

Browse files
committed
[feature] record testdata last update
1 parent 883f777 commit 4137db0

File tree

4 files changed

+23
-0
lines changed

4 files changed

+23
-0
lines changed

judger/serializers.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,5 +46,6 @@ class Meta:
4646
'time_limit',
4747
'memory_limit',
4848
'testdata_url',
49+
'testdata_last_update',
4950
]
5051

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Generated by Django 3.1.6 on 2021-02-10 08:18
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('problem', '0015_auto_20210204_1401'),
10+
]
11+
12+
operations = [
13+
migrations.AddField(
14+
model_name='problem',
15+
name='testdata_last_update',
16+
field=models.DateTimeField(blank=True, null=True),
17+
),
18+
]

problem/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ class Problem(models.Model):
2626
memory_limit = models.IntegerField(default=128000)
2727

2828
testdata_url = models.TextField(blank=True, null=True)
29+
testdata_last_update = models.DateTimeField(blank=True, null=True)
2930

3031
class Meta:
3132
permissions = ( # (permission name, promission explanation)

problem/views.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from django.utils.decorators import method_decorator
33
from django.contrib.auth.decorators import permission_required
44
from django.db.models import Max
5+
from django.utils import timezone
56

67
from rest_framework.response import Response
78
from rest_framework.views import APIView
@@ -92,6 +93,7 @@ def patch(self, request, pid):
9293
new_value = request.data['testdata_url']
9394
problem = get_object_or_404(Problem, pid=pid)
9495
problem.testdata_url = new_value
96+
problem.testdata_last_update = timezone.now()
9597
problem.save()
9698

9799
return Response(status=status.HTTP_204_NO_CONTENT)
@@ -101,6 +103,7 @@ def patch(self, request, pid):
101103
def delete(self, request, pid):
102104
problem = get_object_or_404(Problem, pid=pid)
103105
problem.testdata_url = None
106+
problem.testdata_last_update = timezone.now()
104107
problem.save()
105108

106109
return Response(status=status.HTTP_204_NO_CONTENT)

0 commit comments

Comments
 (0)