Skip to content

Commit dc31666

Browse files
committed
set languages in problem model as python by default
1 parent 3dfa74c commit dc31666

File tree

2 files changed

+2
-11
lines changed

2 files changed

+2
-11
lines changed

problem/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class Problem(models.Model):
2525
# code segment filenames to be substituded
2626
description = RichTextField()
2727
# hint = RichTextField(null=True)
28-
languages = JSONField()
28+
languages = JSONField(default=["python"])
2929
#需要的节点数量
3030
vm_num = models.IntegerField(default=1)
3131
#各个节点所需要的端口数量

problem/views/admin.py

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
class ProblemBase(APIView):
1919
def common_checks(self, request):
2020
data = request.data
21-
data["languages"] = list(data["languages"])
2221

2322

2423
class ProblemFormBase(APIView):
@@ -38,7 +37,7 @@ def post(self, request):
3837

3938
problem_data = {}
4039
# print(request.POST)
41-
str_fields = ["_id", "title", "languages", "description"]
40+
str_fields = ["_id", "title", "description"]
4241
for field in str_fields:
4342
problem_data[field] = request.POST.get(field)
4443
problem_data["code_num"] = int(request.POST.get("code_num"))
@@ -101,12 +100,8 @@ def put(self, request):
101100
if Problem.objects.exclude(id=problem_id).filter(_id=_id, contest_id__isnull=True).exists():
102101
return self.error("Display ID already exists")
103102

104-
error_info = self.common_checks(request)
105-
if error_info:
106-
return self.error(error_info)
107103
# todo check filename and score info
108104
tags = data.pop("tags")
109-
data["languages"] = list(data["languages"])
110105

111106
for k, v in data.items():
112107
setattr(problem, k, v)
@@ -138,7 +133,6 @@ def delete(self, request):
138133
problem.delete()
139134
return self.success()
140135

141-
#针对于教师重新配置之后的Lab problem
142136
class ContestProblemAPI(ProblemBase):
143137
@validate_serializer(AddContestProblemSerializer)
144138
def post(self, request):
@@ -160,7 +154,6 @@ def post(self, request):
160154
if "description" not in data:
161155
data["description"] = problem.description
162156
data["visible"] = True
163-
data["languages"] = problem.languages
164157
if "hint" not in data:
165158
data["hint"] = problem.hint
166159
lab_config = data["lab_config"]
@@ -237,7 +230,6 @@ def put(self, request):
237230
return self.error(error_info)
238231
# todo check filename and score info
239232
tags = data.pop("tags")
240-
data["languages"] = list(data["languages"])
241233

242234
for k, v in data.items():
243235
setattr(problem, k, v)
@@ -324,7 +316,6 @@ def post(self, request):
324316
data["description"] = problem.description
325317
data["visible"] = True
326318
data["is_public"] = True
327-
data["languages"] = problem.languages
328319
data["code_num"] = problem.code_num
329320
data["code_names"] = problem.code_names
330321

0 commit comments

Comments
 (0)