コード例 #1
0
        def wrapper(request):
            args = get_args(request)
            kwargs = {}
            for field in self.model._meta.fields:
                key_name = field.column
                if field.name in [
                        'create_time', 'update_time', 'is_active', 'id'
                ]:
                    continue
                if field.name == 'user':
                    try:
                        s = Session.objects.get(pk=args['session_id'])
                        user_id = s.get_decoded().get('_auth_user_id')
                        user = User.objects.get(pk=user_id, is_active=True)
                        args['user_id'] = user_id
                        args['user'] = user
                    except:
                        import traceback
                        traceback.print_exc()
                        return fail_json(err.ERROR_CODE_INVALID_ARGS,
                                         field.name)

                if not field.null and key_name not in args and not field.has_default(
                ):
                    return fail_json(err.ERROR_CODE_INVALID_ARGS, field.name)

                if key_name in args:
                    if args.get(key_name):
                        kwargs[key_name] = args[key_name]
            obj = self.access_db(kwargs)
            return self.format_data(obj)
コード例 #2
0
 def wrapper(request):
     args = get_args(request)
     kwargs = {}
     for field in self.model._meta.fields:
         key_name = field.name
         if key_name in args:
             kwargs[key_name] = args[key_name]
     obj = self.access_db(kwargs)
     return self.format_data(obj)
コード例 #3
0
 def wrapper(request):
     args = get_args(request)
     self.request = request
     kwarg = {}
     for k in self.args:
         if self.args[k] == 'r' and k not in args:
             return fail_json(err.ERROR_CODE_INVALID_ARGS, k)
         val = args.get(k, None)
         if not val:
             val = self.args[k][1]
         kwarg[k] = val
     obj = self.access_db(kwarg)
     return self.format_data(obj)
コード例 #4
0
 def wrapper(request):
     args = get_args(request)
     kwargs = {}
     for field in self.model._meta.fields:
         if field.name in ['create_time', 'update_time', 'is_active']:
             continue
         key_name = field.column
         if not field.null and key_name not in args and key_name is not 'id':
             return fail_json(err.ERROR_CODE_INVALID_ARGS, field.name)
         if key_name in args:
             kwargs[key_name] = args[key_name]
     obj = self.access_db(kwargs)
     return self.format_data(obj)
コード例 #5
0
        def wrapper(request):
            args = get_args(request)
            kwarg = {'request': request}
            for k in self.args:
                if self.args[k] == 'r' and (k not in args or args[k] == ""):
                    return fail_json(err.ERROR_CODE_INVALID_ARGS, k)
                val = args.get(k, None)
                if not val and isinstance(self.args[k], tuple):
                    val = self.args[k][1]
                kwarg[k] = val

            if self.cache_args != [] and not settings.DEBUG:
                cache_key = self.make_cache_key(kwarg)
                cache_data = PageCache.get_page_key(cache_key)
                if cache_data:
                    return ok_json(cache_data)

            obj = self.access_db(kwarg)
            return self.format_data(obj)