From fe4e715c313f117149755e2426f37998a6d8427f Mon Sep 17 00:00:00 2001 From: vapao Date: Thu, 9 Jan 2020 00:22:57 +0800 Subject: [PATCH] U api update --- spug_api/apps/app/models.py | 8 ++++++++ spug_api/apps/app/views.py | 15 +++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/spug_api/apps/app/models.py b/spug_api/apps/app/models.py index c458bdc..67de924 100644 --- a/spug_api/apps/app/models.py +++ b/spug_api/apps/app/models.py @@ -9,9 +9,17 @@ class App(models.Model, ModelMixin): name = models.CharField(max_length=50) key = models.CharField(max_length=50) desc = models.CharField(max_length=255, null=True) + rel_apps = models.TextField(null=True) + rel_services = models.TextField(null=True) created_at = models.CharField(max_length=20, default=human_datetime) created_by = models.ForeignKey(User, on_delete=models.PROTECT) + def to_dict(self, *args, **kwargs): + tmp = super().to_dict(*args, **kwargs) + tmp['rel_apps'] = json.loads(self.rel_apps) if self.rel_apps else [] + tmp['rel_services'] = json.loads(self.rel_services) if self.rel_services else [] + return tmp + def __repr__(self): return f'' diff --git a/spug_api/apps/app/views.py b/spug_api/apps/app/views.py index 09be0b9..b091da3 100644 --- a/spug_api/apps/app/views.py +++ b/spug_api/apps/app/views.py @@ -29,6 +29,21 @@ class AppView(View): App.objects.create(created_by=request.user, **form) return json_response(error=error) + def patch(self, request): + form, error = JsonParser( + Argument('id', type=int, help='参数错误'), + Argument('rel_apps', type=list, required=False), + Argument('rel_services', type=list, required=False) + ).parse(request.body) + if error is None: + app = App.objects.filter(pk=form.id).first() + if not app: + return json_response(error='未找到指定应用') + app.rel_apps = json.dumps(form.rel_apps) + app.rel_services = json.dumps(form.rel_services) + app.save() + return json_response(error=error) + def delete(self, request): form, error = JsonParser( Argument('id', type=int, help='请指定操作对象')