use numeric primary keys, but still use unique names as lookups in the API
This commit is contained in:
parent
fcd0f8072b
commit
9658de72a2
14 changed files with 46 additions and 95 deletions
|
@ -18,6 +18,8 @@ class HosterViewSet(ViewSet):
|
|||
"""
|
||||
Retrieve and interact with package hosters
|
||||
"""
|
||||
lookup_field = 'name'
|
||||
|
||||
def retrieve(self, request, pk=None):
|
||||
if pk not in hosters:
|
||||
raise Http404
|
||||
|
@ -92,6 +94,8 @@ class SubmitTaskViewSet(ViewSet):
|
|||
"""
|
||||
Get hoster submit tasks
|
||||
"""
|
||||
lookup_field = 'id'
|
||||
|
||||
def retrieve(self, request, pk=None):
|
||||
task = submit_edit_task.AsyncResult(task_id=pk)
|
||||
try:
|
||||
|
|
|
@ -15,10 +15,6 @@ class Hoster(ABC):
|
|||
self.name = name
|
||||
self.base_url = base_url
|
||||
|
||||
@property
|
||||
def pk(self):
|
||||
return self.name
|
||||
|
||||
def get_packages(self):
|
||||
"""
|
||||
Get a Queryset of all packages that can be handled by this hoster
|
||||
|
|
|
@ -4,7 +4,7 @@ from rest_framework.reverse import reverse
|
|||
|
||||
class HosterSerializer(serializers.Serializer):
|
||||
name = serializers.CharField()
|
||||
url = serializers.HyperlinkedIdentityField(view_name='api:hoster-detail')
|
||||
url = serializers.HyperlinkedIdentityField(view_name='api:hoster-detail', lookup_field='name')
|
||||
state_url = serializers.SerializerMethodField()
|
||||
auth_uri_url = serializers.SerializerMethodField()
|
||||
submit_url = serializers.SerializerMethodField()
|
||||
|
@ -22,7 +22,7 @@ class HosterSerializer(serializers.Serializer):
|
|||
|
||||
class TaskSerializer(serializers.Serializer):
|
||||
id = serializers.CharField()
|
||||
url = serializers.HyperlinkedIdentityField(view_name='api:hoster-detail', lookup_field='id', lookup_url_kwarg='pk')
|
||||
url = serializers.HyperlinkedIdentityField(view_name='api:hoster-detail', lookup_field='id')
|
||||
started = serializers.SerializerMethodField()
|
||||
done = serializers.SerializerMethodField()
|
||||
success = serializers.SerializerMethodField()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue