Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Rex Dri
Rex Dri
Commits
a49d5f70
Commit
a49d5f70
authored
Sep 10, 2018
by
Florent Chehab
Browse files
API to regroup info added and minor tweaks
parent
b67fda5d
Changes
24
Show whitespace changes
Inline
Side-by-side
backend/models/university/universityModulesAPI.py
View file @
a49d5f70
...
...
@@ -2,13 +2,25 @@ from backend.models.university import University
from
backend.models.campus
import
CampusSerializer
from
backend.models.university
import
UniversityDriSerializer
from
backend.models.university
import
UniversityInfoSerializer
from
backend.models.university
import
UniversityScholarshipSerializer
from
backend.models.university
import
UniversitySemestersDatesSerializer
from
backend.models.university
import
UniversityTaggedItemSerializer
from
backend.models.abstract.my_model
import
MyModelSerializer
,
MyModelViewSet
from
backend.utils
import
get_viewset_permissions
class
UniversityModulesSerializer
(
MyModelSerializer
):
univ_campus
=
CampusSerializer
(
many
=
True
,
read_only
=
True
)
university_campuses
=
CampusSerializer
(
many
=
True
,
read_only
=
True
)
university_scholarships
=
UniversityScholarshipSerializer
(
many
=
True
,
read_only
=
True
)
university_tagged_items
=
UniversityTaggedItemSerializer
(
many
=
True
,
read_only
=
True
)
university_dri
=
UniversityDriSerializer
(
many
=
True
,
read_only
=
True
)
university_info
=
UniversityInfoSerializer
(
read_only
=
True
)
university_semesters_dates
=
UniversitySemestersDatesSerializer
(
read_only
=
True
)
class
Meta
:
model
=
University
...
...
@@ -18,9 +30,15 @@ class UniversityModulesSerializer(MyModelSerializer):
class
UniversityModulesViewSet
(
MyModelViewSet
):
permission_classes
=
get_viewset_permissions
(
"UniversityModulesViewSet"
)
serializer_class
=
UniversityModulesSerializer
queryset
=
University
.
objects
.
all
()
def
get
_queryset
(
self
):
def
extend
_queryset
(
self
):
univ_id
=
self
.
kwargs
[
'univ_id'
]
return
University
.
objects
.
filter
(
id
=
univ_id
).
prefetch_related
(
'univ_campus'
,
'university_dri'
)
# pylint: disable=E1101
# queryset = get_queryset()
return
self
.
my_model_queryset
.
filter
(
pk
=
univ_id
).
prefetch_related
(
'university_campuses'
,
'university_dri'
,
'university_info'
,
'university_scholarships'
,
'university_semesters_dates'
,
'university_tagged_items'
)
# pylint: disable=E1101
backend/models/university/universityScholarship.py
View file @
a49d5f70
...
...
@@ -6,8 +6,7 @@ from backend.utils import get_model_config, get_viewset_permissions
class
UniversityScholarship
(
Scholarship
):
model_config
=
get_model_config
(
"UniversityScholarship"
)
university
=
models
.
ForeignKey
(
University
,
on_delete
=
models
.
PROTECT
,
null
=
False
,
related_name
=
"univScholarship"
)
university
=
models
.
ManyToManyField
(
University
,
related_name
=
"university_scholarships"
)
@
classmethod
def
get_serializer
(
cls
):
...
...
backend/models/university/universityTaggedItem.py
View file @
a49d5f70
...
...
@@ -7,7 +7,7 @@ from backend.utils import get_model_config, get_viewset_permissions
class
UniversityTaggedItem
(
TaggedItem
):
model_config
=
get_model_config
(
"UniversityTaggedItem"
)
university
=
models
.
OneToOneField
(
University
,
on_delete
=
models
.
PROTECT
,
related_name
=
'
city
_items'
,
primary_key
=
True
)
University
,
on_delete
=
models
.
PROTECT
,
related_name
=
'
university_tagged
_items'
,
primary_key
=
True
)
@
classmethod
def
get_serializer
(
cls
):
...
...
general/api/api_config.yml
View file @
a49d5f70
...
...
@@ -177,10 +177,34 @@
-
model
:
null
viewset
:
UniversityModulesViewSet
import_location
:
university
api_end_point
:
universit
ies
All
api_end_point
:
universit
y
All
api_attr
:
(?P<univ_id>[0-9]+)
api_name
:
university_details
read_only
:
true
-
model
:
null
viewset
:
CountryModulesViewSet
import_location
:
country
api_end_point
:
countryAll
api_attr
:
(?P<country_id>[a-zA-Z]+)
api_name
:
country_details
read_only
:
true
-
model
:
null
viewset
:
CityModulesViewSet
import_location
:
city
api_end_point
:
cityAll
api_attr
:
(?P<city_id>[0-9]+)
api_name
:
city_details
read_only
:
true
-
model
:
null
viewset
:
CampusModulesViewSet
import_location
:
campus
api_end_point
:
campusAll
api_attr
:
(?P<campus_id>[0-9]+)
api_name
:
campus_details
read_only
:
true
-
model
:
CampusTaggedItem
...
...
Prev
1
2
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment