· 7 years ago · Dec 26, 2018, 03:48 PM
1AttributeError at /api/v1/stats/ranking/random
2'Ranking' object has no attribute 'place_all'
3
4Request Method: GET
5Request URL: http://footgolf-staging.azurewebsites.net/api/v1/stats/ranking/random
6Django Version: 2.1.2
7Python Executable: /usr/local/bin/python
8Python Version: 3.7.1
9Python Path: ['/code/src', '/usr/local/bin', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages']
10Server time: Åšr, 26 Gru 2018 15:44:10 +0000
11Installed Applications:
12['django.contrib.admin',
13 'django.contrib.auth',
14 'django.contrib.contenttypes',
15 'django.contrib.sessions',
16 'django.contrib.messages',
17 'django.contrib.staticfiles',
18 'django.contrib.postgres',
19 'drf_yasg',
20 'rest_framework',
21 'rest_framework_swagger',
22 'django_admin_json_editor',
23 'corsheaders',
24 'accounts.apps.AccountsConfig',
25 'dictionaries.apps.DictionariesConfig',
26 'events.apps.EventsConfig',
27 'feed.apps.FeedConfig',
28 'organizations.apps.OrganizationsConfig',
29 'payments.apps.PaymentsConfig',
30 'stats.apps.StatsConfig']
31Installed Middleware:
32['corsheaders.middleware.CorsMiddleware',
33 'django.middleware.common.CommonMiddleware',
34 'django.middleware.security.SecurityMiddleware',
35 'django.contrib.sessions.middleware.SessionMiddleware',
36 'django.middleware.locale.LocaleMiddleware',
37 'django.middleware.common.CommonMiddleware',
38 'django.middleware.csrf.CsrfViewMiddleware',
39 'django.contrib.auth.middleware.AuthenticationMiddleware',
40 'django.contrib.messages.middleware.MessageMiddleware',
41 'django.middleware.clickjacking.XFrameOptionsMiddleware']
42
43
44Traceback:
45
46File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py" in inner
47 34. response = get_response(request)
48
49File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
50 126. response = self.process_exception_by_middleware(e, request)
51
52File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
53 124. response = wrapped_callback(request, *callback_args, **callback_kwargs)
54
55File "/usr/local/lib/python3.7/site-packages/django/views/decorators/csrf.py" in wrapped_view
56 54. return view_func(*args, **kwargs)
57
58File "/usr/local/lib/python3.7/site-packages/django/views/generic/base.py" in view
59 68. return self.dispatch(request, *args, **kwargs)
60
61File "/code/src/common/mixins.py" in dispatch
62 10. return cache_page(self.cache_timeout)(super(CacheMixin, self).dispatch)(*args, **kwargs)
63
64File "/usr/local/lib/python3.7/site-packages/django/utils/decorators.py" in _wrapped_view
65 142. response = view_func(request, *args, **kwargs)
66
67File "/usr/local/lib/python3.7/site-packages/rest_framework/views.py" in dispatch
68 483. response = self.handle_exception(exc)
69
70File "/usr/local/lib/python3.7/site-packages/rest_framework/views.py" in handle_exception
71 443. self.raise_uncaught_exception(exc)
72
73File "/usr/local/lib/python3.7/site-packages/rest_framework/views.py" in dispatch
74 480. response = handler(request, *args, **kwargs)
75
76File "/usr/local/lib/python3.7/site-packages/django/utils/decorators.py" in _wrapper
77 45. return bound_method(*args, **kwargs)
78
79File "/usr/local/lib/python3.7/site-packages/rest_framework/generics.py" in get
80 201. return self.list(request, *args, **kwargs)
81
82File "/usr/local/lib/python3.7/site-packages/rest_framework/mixins.py" in list
83 48. return Response(serializer.data)
84
85File "/usr/local/lib/python3.7/site-packages/rest_framework/serializers.py" in data
86 765. ret = super(ListSerializer, self).data
87
88File "/usr/local/lib/python3.7/site-packages/rest_framework/serializers.py" in data
89 262. self._data = self.to_representation(self.instance)
90
91File "/usr/local/lib/python3.7/site-packages/rest_framework/serializers.py" in to_representation
92 683. self.child.to_representation(item) for item in iterable
93
94File "/usr/local/lib/python3.7/site-packages/rest_framework/serializers.py" in <listcomp>
95 683. self.child.to_representation(item) for item in iterable
96
97File "/usr/local/lib/python3.7/site-packages/rest_framework/serializers.py" in to_representation
98 527. ret[field.field_name] = field.to_representation(attribute)
99
100File "/usr/local/lib/python3.7/site-packages/rest_framework/fields.py" in to_representation
101 1855. return method(value)
102
103File "/code/src/stats/serializers.py" in get_place
104 50. return obj.place_all
105
106Exception Type: AttributeError at /api/v1/stats/ranking/random
107Exception Value: 'Ranking' object has no attribute 'place_all'
108Request information:
109USER: AnonymousUser
110
111GET: No GET data
112
113POST: No POST data
114
115FILES: No FILES data
116
117COOKIES: No cookie data
118
119META:
120HTTP_ACCEPT = 'application/json'
121HTTP_ACCEPT_ENCODING = 'gzip, deflate, br'
122HTTP_ACCEPT_LANGUAGE = 'pl-PL,pl;q=0.9,is;q=0.8,en-US;q=0.7,en;q=0.6'
123HTTP_CLIENT_IP = '62.21.24.129:54813'
124HTTP_CONNECTION = 'close'
125HTTP_DISGUISED_HOST = 'footgolf-staging.azurewebsites.net'
126HTTP_DNT = '1'
127HTTP_HOST = 'footgolf-staging.azurewebsites.net'
128HTTP_MAX_FORWARDS = '10'
129HTTP_ORIGIN = 'http://localhost:3001'
130HTTP_REFERER = 'http://localhost:3001/events/marrakesh-world-championship'
131HTTP_USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'
132HTTP_WAS_DEFAULT_HOSTNAME = 'footgolf-staging.azurewebsites.net'
133HTTP_X_ARR_LOG_ID = '1e07a936-1c9f-4577-970c-21a2133b826a'
134HTTP_X_ARR_SSL = '2048|256|C=US, S=Washington, L=Redmond, O=Microsoft Corporation, OU=Microsoft IT, CN=Microsoft IT TLS CA 4|CN=*.azurewebsites.net'
135HTTP_X_CLIENT_IP = '62.21.24.129'
136HTTP_X_CLIENT_PORT = '54813'
137HTTP_X_FORWARDED_FOR = '62.21.24.129:54813'
138HTTP_X_FORWARDED_PROTO = 'https'
139HTTP_X_ORIGINAL_URL = '/api/v1/stats/ranking/random'
140HTTP_X_SITE_DEPLOYMENT_ID = 'footgolf__0c5d'
141HTTP_X_WAWS_UNENCODED_URL = '/api/v1/stats/ranking/random'
142PATH_INFO = '/api/v1/stats/ranking/random'
143QUERY_STRING = ''
144RAW_URI = '/api/v1/stats/ranking/random'
145REMOTE_ADDR = '192.168.16.1'
146REMOTE_PORT = '25014'
147REQUEST_METHOD = 'GET'
148SCRIPT_NAME = ''
149SERVER_NAME = '0.0.0.0'
150SERVER_PORT = '8080'
151SERVER_PROTOCOL = 'HTTP/1.1'
152SERVER_SOFTWARE = 'gunicorn/19.9.0'
153gunicorn.socket = <socket.socket fd=10, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('192.168.16.2', 8080), raddr=('192.168.16.1', 25014)>
154wsgi.errors = <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff4b30c1748>
155wsgi.file_wrapper = ''
156wsgi.input = <gunicorn.http.body.Body object at 0x7ff4b30c1a20>
157wsgi.multiprocess = False
158wsgi.multithread = False
159wsgi.run_once = False
160wsgi.url_scheme = 'http'
161wsgi.version = '(1, 0)'
162
163Settings:
164Using settings module config.settings.base
165ABSOLUTE_URL_OVERRIDES = {}
166ADMINS = []
167ALLOWED_HOSTS = ['*']
168APPEND_SLASH = True
169AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend']
170AUTH_PASSWORD_VALIDATORS = '********************'
171AUTH_USER_MODEL = 'accounts.User'
172AZURE_ACCOUNT_KEY = '********************'
173AZURE_ACCOUNT_NAME = 'footgolfstorage'
174AZURE_CONTAINER = 'footgolf'
175BASE_DIR = '/code/src/config'
176CACHES = {'default': {'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'rediss://:jNG3rS7TXRc1ehglnxTdqCrbdS9qJu2Qdnd61vKapn8=@footgolf-redis.redis.cache.windows.net:6380/5', 'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient'}, 'KEY_PREFIX': '********************'}}
177CACHE_MIDDLEWARE_ALIAS = 'default'
178CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
179CACHE_MIDDLEWARE_SECONDS = 600
180CACHE_TTL = 60
181CORS_ORIGIN_ALLOW_ALL = True
182CSRF_COOKIE_AGE = 31449600
183CSRF_COOKIE_DOMAIN = None
184CSRF_COOKIE_HTTPONLY = False
185CSRF_COOKIE_NAME = 'csrftoken'
186CSRF_COOKIE_PATH = '/'
187CSRF_COOKIE_SAMESITE = 'Lax'
188CSRF_COOKIE_SECURE = False
189CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
190CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
191CSRF_TRUSTED_ORIGINS = []
192CSRF_USE_SESSIONS = False
193DATABASES = {'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'footgolf_staging', 'USER': 'admin_fg@footgolf-db', 'PASSWORD': '********************', 'HOST': 'footgolf-db.postgres.database.azure.com', 'PORT': '5432', 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'OPTIONS': {}, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}
194DATABASE_ROUTERS = []
195DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
196DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
197DATETIME_FORMAT = 'N j, Y, P'
198DATETIME_INPUT_FORMATS = ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y']
199DATE_FORMAT = 'N j, Y'
200DATE_INPUT_FORMATS = ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
201DEBUG = True
202DEBUG_PROPAGATE_EXCEPTIONS = False
203DECIMAL_SEPARATOR = '.'
204DEFAULT_CHARSET = 'utf-8'
205DEFAULT_CONTENT_TYPE = 'text/html'
206DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
207DEFAULT_FILE_STORAGE = 'storages.backends.azure_storage.AzureStorage'
208DEFAULT_FROM_EMAIL = 'noreply@footgolflounge.com'
209DEFAULT_INDEX_TABLESPACE = ''
210DEFAULT_TABLESPACE = ''
211DISALLOWED_USER_AGENTS = []
212EMAIL_BACKEND = 'sparkpost.django.email_backend.SparkPostEmailBackend'
213EMAIL_HOST = 'localhost'
214EMAIL_HOST_PASSWORD = '********************'
215EMAIL_HOST_USER = ''
216EMAIL_PORT = 25
217EMAIL_SSL_CERTFILE = None
218EMAIL_SSL_KEYFILE = '********************'
219EMAIL_SUBJECT_PREFIX = '[Django] '
220EMAIL_TIMEOUT = None
221EMAIL_USE_LOCALTIME = False
222EMAIL_USE_SSL = False
223EMAIL_USE_TLS = False
224FILE_CHARSET = 'utf-8'
225FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
226FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
227FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
228FILE_UPLOAD_PERMISSIONS = None
229FILE_UPLOAD_TEMP_DIR = None
230FIRST_DAY_OF_WEEK = 0
231FIXTURE_DIRS = []
232FORCE_SCRIPT_NAME = None
233FORMAT_MODULE_PATH = None
234FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
235HOSTNAME = 'https://footgolf-staging.azurewebsites.net/'
236IGNORABLE_404_URLS = []
237INSTAGRAM_API = '********************'
238INSTALLED_APPS = ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.postgres', 'drf_yasg', 'rest_framework', 'rest_framework_swagger', 'django_admin_json_editor', 'corsheaders', 'accounts.apps.AccountsConfig', 'dictionaries.apps.DictionariesConfig', 'events.apps.EventsConfig', 'feed.apps.FeedConfig', 'organizations.apps.OrganizationsConfig', 'payments.apps.PaymentsConfig', 'stats.apps.StatsConfig']
239INTERNAL_IPS = []
240JWT_AUTH = {'JWT_AUTH_HEADER_PREFIX': 'Bearer'}
241LANGUAGES = [('en', 'angielski'), ('pl', 'polski'), ('es', 'hiszpański')]
242LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
243LANGUAGE_CODE = 'en'
244LANGUAGE_COOKIE_AGE = None
245LANGUAGE_COOKIE_DOMAIN = None
246LANGUAGE_COOKIE_NAME = 'django_language'
247LANGUAGE_COOKIE_PATH = '/'
248LOCALE_PATHS = []
249LOGGING = {}
250LOGGING_CONFIG = 'logging.config.dictConfig'
251LOGIN_REDIRECT_URL = '/accounts/profile/'
252LOGIN_URL = 'accounts:login'
253LOGOUT_REDIRECT_URL = None
254LOGOUT_URL = 'accounts:logout'
255MANAGERS = []
256MEDIA_ROOT = '/code/src/config/media'
257MEDIA_URL = '/media/'
258MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
259MIDDLEWARE = ['corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware']
260MIGRATION_MODULES = {}
261MONTH_DAY_FORMAT = 'F j'
262NUMBER_GROUPING = 0
263PASSWORD_HASHERS = '********************'
264PASSWORD_RESET_TIMEOUT_DAYS = '********************'
265PREPEND_WWW = False
266REDIS_DATABASE = '5'
267REDIS_DB = 0
268REDIS_HOST = 'footgolf-redis.redis.cache.windows.net'
269REDIS_PASSWORD = '********************'
270REDIS_PORT = 6380
271REDIS_SSL = 'rediss'
272REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework_simplejwt.authentication.JWTAuthentication',), 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',), 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination', 'PAGE_SIZE': 10, 'EXCEPTION_HANDLER': 'common.exceptions.custom_exception_handler'}
273ROOT_URLCONF = 'config.urls'
274SECRET_KEY = '********************'
275SECURE_BROWSER_XSS_FILTER = False
276SECURE_CONTENT_TYPE_NOSNIFF = False
277SECURE_HSTS_INCLUDE_SUBDOMAINS = False
278SECURE_HSTS_PRELOAD = False
279SECURE_HSTS_SECONDS = 0
280SECURE_PROXY_SSL_HEADER = None
281SECURE_REDIRECT_EXEMPT = []
282SECURE_SSL_HOST = None
283SECURE_SSL_REDIRECT = False
284SERVER_EMAIL = 'root@localhost'
285SESSION_CACHE_ALIAS = 'default'
286SESSION_COOKIE_AGE = 1209600
287SESSION_COOKIE_DOMAIN = None
288SESSION_COOKIE_HTTPONLY = True
289SESSION_COOKIE_NAME = 'sessionid'
290SESSION_COOKIE_PATH = '/'
291SESSION_COOKIE_SAMESITE = 'Lax'
292SESSION_COOKIE_SECURE = False
293SESSION_ENGINE = 'django.contrib.sessions.backends.db'
294SESSION_EXPIRE_AT_BROWSER_CLOSE = False
295SESSION_FILE_PATH = None
296SESSION_SAVE_EVERY_REQUEST = False
297SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
298SETTINGS_MODULE = 'config.settings.base'
299SHORT_DATETIME_FORMAT = 'm/d/Y P'
300SHORT_DATE_FORMAT = 'm/d/Y'
301SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
302SILENCED_SYSTEM_CHECKS = []
303SIMPLE_JWT = {'ACCESS_TOKEN_LIFETIME': '********************', 'REFRESH_TOKEN_LIFETIME': '********************', 'ROTATE_REFRESH_TOKENS': '********************', 'USER_ID_FIELD': 'jwt_secret'}
304SPARKPOST_API_KEY = '********************'
305STATICFILES_DIRS = "('/code/src/config/static',)"
306STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
307STATICFILES_STORAGE = 'custom_storage.custom_azure.PublicAzureStorage'
308STATIC_ROOT = None
309STATIC_URL = '/static/'
310SWAGGER_SETTINGS = {'OPERATIONS_SORTER': 'method', 'JSON_EDITOR': True, 'LOGIN_URL': '/admin/login/', 'LOGOUT_URL': '/admin/logout/', 'SECURITY_DEFINITIONS': {'basic': {'type': 'basic'}}, 'EXCLUDED_MEDIA_TYPES': {'html', 'json'}, 'DOC_EXPANSION': 'none', 'DISPLAY_OPERATION_ID': False}
311TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/code/src/config/templates'], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages']}}]
312TEST_NON_SERIALIZED_APPS = []
313TEST_RUNNER = 'django.test.runner.DiscoverRunner'
314THOUSAND_SEPARATOR = ','
315TIME_FORMAT = 'P'
316TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
317TIME_ZONE = 'UTC'
318TOKEN_LIFETIME = '********************'
319TWITTER_API = '********************'
320USE_I18N = True
321USE_L10N = True
322USE_THOUSAND_SEPARATOR = False
323USE_TZ = True
324USE_X_FORWARDED_HOST = False
325USE_X_FORWARDED_PORT = False
326WSGI_APPLICATION = 'config.wsgi.application'
327X_FRAME_OPTIONS = 'SAMEORIGIN'
328YEAR_MONTH_FORMAT = 'F Y'
329
330
331You're seeing this error because you have DEBUG = True in your
332Django settings file. Change that to False, and Django will
333display a standard page generated by the handler for this status code.