|
@@ -36,21 +36,24 @@ class SoftwarePlanView(APIView):
|
|
|
|
|
|
info = []
|
|
|
plan_all = plan_all.filter(delete=False)
|
|
|
+ names = set()
|
|
|
for plan in plan_all.all():
|
|
|
- info.append({
|
|
|
- 'software_id': plan.software.id,
|
|
|
- 'software_name': plan.software.name,
|
|
|
- 'version': plan.version,
|
|
|
- 'creator_id': plan.creator.id,
|
|
|
- 'creator': plan.creator.username,
|
|
|
- 'id': plan.id,
|
|
|
- 'type': plan.type,
|
|
|
- 'title': plan.title,
|
|
|
- 'description': plan.description,
|
|
|
- 'state': plan.state,
|
|
|
- 'create_time': plan.create_time,
|
|
|
- 'update_time': plan.update_time,
|
|
|
- })
|
|
|
+ if plan.title not in names:
|
|
|
+ names.add(plan.title)
|
|
|
+ info.append({
|
|
|
+ 'software_id': plan.software.id,
|
|
|
+ 'software_name': plan.software.name,
|
|
|
+ 'version': plan.version,
|
|
|
+ 'creator_id': plan.creator.id,
|
|
|
+ 'creator': plan.creator.username,
|
|
|
+ 'id': plan.id,
|
|
|
+ 'type': plan.type,
|
|
|
+ 'title': plan.title,
|
|
|
+ 'description': plan.description,
|
|
|
+ 'state': plan.state,
|
|
|
+ 'create_time': plan.create_time,
|
|
|
+ 'update_time': plan.update_time,
|
|
|
+ })
|
|
|
return Response(info)
|
|
|
|
|
|
|