· 4 years ago · Sep 02, 2021, 06:02 PM
1<!DOCTYPE html>
2<!-- saved from url=(0065)https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default -->
3<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4
5 <meta name="robots" content="NONE,NOARCHIVE">
6 <title>IntegrityError
7 at /payment/esewa/</title>
8 <style type="text/css">
9 html * { padding:0; margin:0; }
10 body * { padding:10px 20px; }
11 body * * { padding:0; }
12 body { font:small sans-serif; background-color:#fff; color:#000; }
13 body>div { border-bottom:1px solid #ddd; }
14 h1 { font-weight:normal; }
15 h2 { margin-bottom:.8em; }
16 h3 { margin:1em 0 .5em 0; }
17 h4 { margin:0 0 .5em 0; font-weight: normal; }
18 code, pre { font-size: 100%; white-space: pre-wrap; }
19 table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
20 tbody td, tbody th { vertical-align:top; padding:2px 3px; }
21 thead th {
22 padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
23 font-weight:normal; font-size:11px; border:1px solid #ddd;
24 }
25 tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
26 table.vars { margin:5px 0 2px 40px; }
27 table.vars td, table.req td { font-family:monospace; }
28 table td.code { width:100%; }
29 table td.code pre { overflow:hidden; }
30 table.source th { color:#666; }
31 table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
32 ul.traceback { list-style-type:none; color: #222; }
33 ul.traceback li.frame { padding-bottom:1em; color:#4f4f4f; }
34 ul.traceback li.user { background-color:#e0e0e0; color:#000 }
35 div.context { padding:10px 0; overflow:hidden; }
36 div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
37 div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
38 div.context ol li pre { display:inline; }
39 div.context ol.context-line li { color:#464646; background-color:#dfdfdf; padding: 3px 2px; }
40 div.context ol.context-line li span { position:absolute; right:32px; }
41 .user div.context ol.context-line li { background-color:#bbb; color:#000; }
42 .user div.context ol li { color:#666; }
43 div.commands { margin-left: 40px; }
44 div.commands a { color:#555; text-decoration:none; }
45 .user div.commands a { color: black; }
46 #summary { background: #ffc; }
47 #summary h2 { font-weight: normal; color: #666; }
48 #explanation { background:#eee; }
49 #template, #template-not-exist { background:#f6f6f6; }
50 #template-not-exist ul { margin: 0 0 10px 20px; }
51 #template-not-exist .postmortem-section { margin-bottom: 3px; }
52 #unicode-hint { background:#eee; }
53 #traceback { background:#eee; }
54 #requestinfo { background:#f6f6f6; padding-left:120px; }
55 #summary table { border:none; background:transparent; }
56 #requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
57 #requestinfo h3 { margin-bottom:-1em; }
58 .error { background: #ffc; }
59 .specific { color:#cc3300; font-weight:bold; }
60 h2 span.commands { font-size:.7em; font-weight:normal; }
61 span.commands a:link {color:#5E5694;}
62 pre.exception_value { font-family: sans-serif; color: #575757; font-size: 1.5em; margin: 10px 0 10px 0; }
63 .append-bottom { margin-bottom: 10px; }
64 .fname { user-select: all; }
65 </style>
66
67 <script>
68 function hideAll(elems) {
69 for (var e = 0; e < elems.length; e++) {
70 elems[e].style.display = 'none';
71 }
72 }
73 window.onload = function() {
74 hideAll(document.querySelectorAll('table.vars'));
75 hideAll(document.querySelectorAll('ol.pre-context'));
76 hideAll(document.querySelectorAll('ol.post-context'));
77 hideAll(document.querySelectorAll('div.pastebin'));
78 }
79 function toggle() {
80 for (var i = 0; i < arguments.length; i++) {
81 var e = document.getElementById(arguments[i]);
82 if (e) {
83 e.style.display = e.style.display == 'none' ? 'block': 'none';
84 }
85 }
86 return false;
87 }
88 function varToggle(link, id) {
89 toggle('v' + id);
90 var s = link.getElementsByTagName('span')[0];
91 var uarr = String.fromCharCode(0x25b6);
92 var darr = String.fromCharCode(0x25bc);
93 s.textContent = s.textContent == uarr ? darr : uarr;
94 return false;
95 }
96 function switchPastebinFriendly(link) {
97 s1 = "Switch to copy-and-paste view";
98 s2 = "Switch back to interactive view";
99 link.textContent = link.textContent.trim() == s1 ? s2: s1;
100 toggle('browserTraceback', 'pastebinTraceback');
101 return false;
102 }
103 </script>
104
105</head>
106<body contenteditable="false" data-new-gr-c-s-check-loaded="14.992.0" data-gr-ext-installed="">
107<div id="summary">
108 <h1>IntegrityError
109 at /payment/esewa/</h1>
110 <pre class="exception_value">duplicate key value violates unique constraint "chat_contact_user_pkg_id_key"
111DETAIL: Key (user_pkg_id)=(773641888890319) already exists.
112</pre>
113 <table class="meta">
114
115 <tbody><tr>
116 <th>Request Method:</th>
117 <td>POST</td>
118 </tr>
119 <tr>
120 <th>Request URL:</th>
121 <td>https://api.peopledevelopmentlab.com/payment/esewa/</td>
122 </tr>
123
124 <tr>
125 <th>Django Version:</th>
126 <td>3.2.1</td>
127 </tr>
128
129 <tr>
130 <th>Exception Type:</th>
131 <td>IntegrityError</td>
132 </tr>
133
134
135 <tr>
136 <th>Exception Value:</th>
137 <td><pre>duplicate key value violates unique constraint "chat_contact_user_pkg_id_key"
138DETAIL: Key (user_pkg_id)=(773641888890319) already exists.
139</pre></td>
140 </tr>
141
142
143 <tr>
144 <th>Exception Location:</th>
145 <td><span class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/backends/utils.py</span>, line 84, in _execute</td>
146 </tr>
147
148 <tr>
149 <th>Python Executable:</th>
150 <td>/home/ubuntu/pdl_backend/venv/bin/python3</td>
151 </tr>
152 <tr>
153 <th>Python Version:</th>
154 <td>3.8.10</td>
155 </tr>
156 <tr>
157 <th>Python Path:</th>
158 <td><pre>['/home/ubuntu/pdl_backend',
159 '/home/ubuntu/pdl_backend/venv/bin',
160 '/usr/lib/python38.zip',
161 '/usr/lib/python3.8',
162 '/usr/lib/python3.8/lib-dynload',
163 '/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages']</pre></td>
164 </tr>
165 <tr>
166 <th>Server time:</th>
167 <td>Thu, 02 Sep 2021 23:27:45 +0545</td>
168 </tr>
169 </tbody></table>
170</div>
171
172
173
174
175<div id="traceback">
176 <h2>Traceback <span class="commands"><a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return switchPastebinFriendly(this);">
177 Switch to copy-and-paste view</a></span>
178 </h2>
179 <div id="browserTraceback">
180 <ul class="traceback">
181
182
183 <li class="frame django">
184
185 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/backends/utils.py</code>, line 84, in _execute
186
187
188
189 <div class="context" id="c140272480044672">
190
191 <ol start="77" class="pre-context" id="pre140272480044672" style="display: none;">
192
193 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> def _execute(self, sql, params, *ignored_wrapper_args):</pre></li>
194
195 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> self.db.validate_no_broken_transaction()</pre></li>
196
197 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> with self.db.wrap_database_errors:</pre></li>
198
199 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> if params is None:</pre></li>
200
201 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> # params default might be backend specific.</pre></li>
202
203 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> return self.cursor.execute(sql)</pre></li>
204
205 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> else:</pre></li>
206
207 </ol>
208
209 <ol start="84" class="context-line">
210 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> return self.cursor.execute(sql, params)</pre> <span>…</span></li>
211 </ol>
212
213 <ol start="85" class="post-context" id="post140272480044672" style="display: none;">
214
215 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre></pre></li>
216
217 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> def _executemany(self, sql, param_list, *ignored_wrapper_args):</pre></li>
218
219 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> self.db.validate_no_broken_transaction()</pre></li>
220
221 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> with self.db.wrap_database_errors:</pre></li>
222
223 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> return self.cursor.executemany(sql, param_list)</pre></li>
224
225 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre></pre></li>
226
227 </ol>
228
229 </div>
230
231
232
233 <div class="commands">
234
235 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272480044672')"><span>▶</span> Local vars</a>
236
237 </div>
238 <table class="vars" id="v140272480044672" style="display: none;">
239 <thead>
240 <tr>
241 <th>Variable</th>
242 <th>Value</th>
243 </tr>
244 </thead>
245 <tbody>
246
247 <tr>
248 <td>ignored_wrapper_args</td>
249 <td class="code"><pre>(False,
250 {'connection': <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f93bedf7220>,
251 'cursor': <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f93bb592e20>})</pre></td>
252 </tr>
253
254 <tr>
255 <td>params</td>
256 <td class="code"><pre>(None,
257 291289543104124,
258 datetime.datetime(2021, 9, 2, 17, 42, 45, 552211, tzinfo=<UTC>),
259 datetime.datetime(2021, 9, 2, 17, 42, 45, 552656, tzinfo=<UTC>),
260 773641888890319,
261 535049470519500,
262 830273735610738)</pre></td>
263 </tr>
264
265 <tr>
266 <td>self</td>
267 <td class="code"><pre><django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f93bb592e20></pre></td>
268 </tr>
269
270 <tr>
271 <td>sql</td>
272 <td class="code"><pre>('INSERT INTO "chat_contact" ("deleted", "id", "created", "updated", '
273 '"user_pkg_id", "counsellor_id", "main_patient_id") VALUES (%s, %s, %s, %s, '
274 '%s, %s, %s)')</pre></td>
275 </tr>
276
277 </tbody>
278 </table>
279
280 </li>
281
282
283 <li><h3>
284
285 The above exception (duplicate key value violates unique constraint "chat_contact_user_pkg_id_key"
286DETAIL: Key (user_pkg_id)=(773641888890319) already exists.
287) was the direct cause of the following exception:
288
289 </h3></li>
290
291 <li class="frame django">
292
293 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/core/handlers/exception.py</code>, line 47, in inner
294
295
296
297 <div class="context" id="c140272479996032">
298
299 <ol start="40" class="pre-context" id="pre140272479996032" style="display: none;">
300
301 <li onclick="toggle('pre140272479996032', 'post140272479996032')"><pre> response = await sync_to_async(response_for_exception, thread_sensitive=False)(request, exc)</pre></li>
302
303 <li onclick="toggle('pre140272479996032', 'post140272479996032')"><pre> return response</pre></li>
304
305 <li onclick="toggle('pre140272479996032', 'post140272479996032')"><pre> return inner</pre></li>
306
307 <li onclick="toggle('pre140272479996032', 'post140272479996032')"><pre> else:</pre></li>
308
309 <li onclick="toggle('pre140272479996032', 'post140272479996032')"><pre> @wraps(get_response)</pre></li>
310
311 <li onclick="toggle('pre140272479996032', 'post140272479996032')"><pre> def inner(request):</pre></li>
312
313 <li onclick="toggle('pre140272479996032', 'post140272479996032')"><pre> try:</pre></li>
314
315 </ol>
316
317 <ol start="47" class="context-line">
318 <li onclick="toggle('pre140272479996032', 'post140272479996032')"><pre> response = get_response(request)</pre> <span>…</span></li>
319 </ol>
320
321 <ol start="48" class="post-context" id="post140272479996032" style="display: none;">
322
323 <li onclick="toggle('pre140272479996032', 'post140272479996032')"><pre> except Exception as exc:</pre></li>
324
325 <li onclick="toggle('pre140272479996032', 'post140272479996032')"><pre> response = response_for_exception(request, exc)</pre></li>
326
327 <li onclick="toggle('pre140272479996032', 'post140272479996032')"><pre> return response</pre></li>
328
329 <li onclick="toggle('pre140272479996032', 'post140272479996032')"><pre> return inner</pre></li>
330
331 <li onclick="toggle('pre140272479996032', 'post140272479996032')"><pre></pre></li>
332
333 <li onclick="toggle('pre140272479996032', 'post140272479996032')"><pre></pre></li>
334
335 </ol>
336
337 </div>
338
339
340
341 <div class="commands">
342
343 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479996032')"><span>▶</span> Local vars</a>
344
345 </div>
346 <table class="vars" id="v140272479996032" style="display: none;">
347 <thead>
348 <tr>
349 <th>Variable</th>
350 <th>Value</th>
351 </tr>
352 </thead>
353 <tbody>
354
355 <tr>
356 <td>exc</td>
357 <td class="code"><pre>IntegrityError('duplicate key value violates unique constraint "chat_contact_user_pkg_id_key"\nDETAIL: Key (user_pkg_id)=(773641888890319) already exists.\n')</pre></td>
358 </tr>
359
360 <tr>
361 <td>get_response</td>
362 <td class="code"><pre><bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f93bc217e20>></pre></td>
363 </tr>
364
365 <tr>
366 <td>request</td>
367 <td class="code"><pre><WSGIRequest: POST '/payment/esewa/'></pre></td>
368 </tr>
369
370 </tbody>
371 </table>
372
373 </li>
374
375
376 <li class="frame django">
377
378 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/core/handlers/base.py</code>, line 181, in _get_response
379
380
381
382 <div class="context" id="c140272479995200">
383
384 <ol start="174" class="pre-context" id="pre140272479995200" style="display: none;">
385
386 <li onclick="toggle('pre140272479995200', 'post140272479995200')"><pre></pre></li>
387
388 <li onclick="toggle('pre140272479995200', 'post140272479995200')"><pre> if response is None:</pre></li>
389
390 <li onclick="toggle('pre140272479995200', 'post140272479995200')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
391
392 <li onclick="toggle('pre140272479995200', 'post140272479995200')"><pre> # If it is an asynchronous view, run it in a subthread.</pre></li>
393
394 <li onclick="toggle('pre140272479995200', 'post140272479995200')"><pre> if asyncio.iscoroutinefunction(wrapped_callback):</pre></li>
395
396 <li onclick="toggle('pre140272479995200', 'post140272479995200')"><pre> wrapped_callback = async_to_sync(wrapped_callback)</pre></li>
397
398 <li onclick="toggle('pre140272479995200', 'post140272479995200')"><pre> try:</pre></li>
399
400 </ol>
401
402 <ol start="181" class="context-line">
403 <li onclick="toggle('pre140272479995200', 'post140272479995200')"><pre> response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre> <span>…</span></li>
404 </ol>
405
406 <ol start="182" class="post-context" id="post140272479995200" style="display: none;">
407
408 <li onclick="toggle('pre140272479995200', 'post140272479995200')"><pre> except Exception as e:</pre></li>
409
410 <li onclick="toggle('pre140272479995200', 'post140272479995200')"><pre> response = self.process_exception_by_middleware(e, request)</pre></li>
411
412 <li onclick="toggle('pre140272479995200', 'post140272479995200')"><pre> if response is None:</pre></li>
413
414 <li onclick="toggle('pre140272479995200', 'post140272479995200')"><pre> raise</pre></li>
415
416 <li onclick="toggle('pre140272479995200', 'post140272479995200')"><pre></pre></li>
417
418 <li onclick="toggle('pre140272479995200', 'post140272479995200')"><pre> # Complain if the view returned None (a common error).</pre></li>
419
420 </ol>
421
422 </div>
423
424
425
426 <div class="commands">
427
428 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479995200')"><span>▶</span> Local vars</a>
429
430 </div>
431 <table class="vars" id="v140272479995200" style="display: none;">
432 <thead>
433 <tr>
434 <th>Variable</th>
435 <th>Value</th>
436 </tr>
437 </thead>
438 <tbody>
439
440 <tr>
441 <td>callback</td>
442 <td class="code"><pre><function VerifyEsewaViewSet at 0x7f93bb752c10></pre></td>
443 </tr>
444
445 <tr>
446 <td>callback_args</td>
447 <td class="code"><pre>()</pre></td>
448 </tr>
449
450 <tr>
451 <td>callback_kwargs</td>
452 <td class="code"><pre>{}</pre></td>
453 </tr>
454
455 <tr>
456 <td>middleware_method</td>
457 <td class="code"><pre><bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f93bc103e20>></pre></td>
458 </tr>
459
460 <tr>
461 <td>request</td>
462 <td class="code"><pre><WSGIRequest: POST '/payment/esewa/'></pre></td>
463 </tr>
464
465 <tr>
466 <td>response</td>
467 <td class="code"><pre>None</pre></td>
468 </tr>
469
470 <tr>
471 <td>self</td>
472 <td class="code"><pre><django.core.handlers.wsgi.WSGIHandler object at 0x7f93bc217e20></pre></td>
473 </tr>
474
475 <tr>
476 <td>wrapped_callback</td>
477 <td class="code"><pre><function VerifyEsewaViewSet at 0x7f93bb752c10></pre></td>
478 </tr>
479
480 </tbody>
481 </table>
482
483 </li>
484
485
486 <li class="frame django">
487
488 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/views/decorators/csrf.py</code>, line 54, in wrapped_view
489
490
491
492 <div class="context" id="c140272479994304">
493
494 <ol start="47" class="pre-context" id="pre140272479994304" style="display: none;">
495
496 <li onclick="toggle('pre140272479994304', 'post140272479994304')"><pre></pre></li>
497
498 <li onclick="toggle('pre140272479994304', 'post140272479994304')"><pre></pre></li>
499
500 <li onclick="toggle('pre140272479994304', 'post140272479994304')"><pre>def csrf_exempt(view_func):</pre></li>
501
502 <li onclick="toggle('pre140272479994304', 'post140272479994304')"><pre> """Mark a view function as being exempt from the CSRF view protection."""</pre></li>
503
504 <li onclick="toggle('pre140272479994304', 'post140272479994304')"><pre> # view_func.csrf_exempt = True would also work, but decorators are nicer</pre></li>
505
506 <li onclick="toggle('pre140272479994304', 'post140272479994304')"><pre> # if they don't have side effects, so return a new function.</pre></li>
507
508 <li onclick="toggle('pre140272479994304', 'post140272479994304')"><pre> def wrapped_view(*args, **kwargs):</pre></li>
509
510 </ol>
511
512 <ol start="54" class="context-line">
513 <li onclick="toggle('pre140272479994304', 'post140272479994304')"><pre> return view_func(*args, **kwargs)</pre> <span>…</span></li>
514 </ol>
515
516 <ol start="55" class="post-context" id="post140272479994304" style="display: none;">
517
518 <li onclick="toggle('pre140272479994304', 'post140272479994304')"><pre> wrapped_view.csrf_exempt = True</pre></li>
519
520 <li onclick="toggle('pre140272479994304', 'post140272479994304')"><pre> return wraps(view_func)(wrapped_view)</pre></li>
521
522 </ol>
523
524 </div>
525
526
527
528 <div class="commands">
529
530 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479994304')"><span>▶</span> Local vars</a>
531
532 </div>
533 <table class="vars" id="v140272479994304" style="display: none;">
534 <thead>
535 <tr>
536 <th>Variable</th>
537 <th>Value</th>
538 </tr>
539 </thead>
540 <tbody>
541
542 <tr>
543 <td>args</td>
544 <td class="code"><pre>(<WSGIRequest: POST '/payment/esewa/'>,)</pre></td>
545 </tr>
546
547 <tr>
548 <td>kwargs</td>
549 <td class="code"><pre>{}</pre></td>
550 </tr>
551
552 <tr>
553 <td>view_func</td>
554 <td class="code"><pre><function VerifyEsewaViewSet at 0x7f93bb752af0></pre></td>
555 </tr>
556
557 </tbody>
558 </table>
559
560 </li>
561
562
563 <li class="frame django">
564
565 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/views/generic/base.py</code>, line 70, in view
566
567
568
569 <div class="context" id="c140272479994432">
570
571 <ol start="63" class="pre-context" id="pre140272479994432" style="display: none;">
572
573 <li onclick="toggle('pre140272479994432', 'post140272479994432')"><pre> self = cls(**initkwargs)</pre></li>
574
575 <li onclick="toggle('pre140272479994432', 'post140272479994432')"><pre> self.setup(request, *args, **kwargs)</pre></li>
576
577 <li onclick="toggle('pre140272479994432', 'post140272479994432')"><pre> if not hasattr(self, 'request'):</pre></li>
578
579 <li onclick="toggle('pre140272479994432', 'post140272479994432')"><pre> raise AttributeError(</pre></li>
580
581 <li onclick="toggle('pre140272479994432', 'post140272479994432')"><pre> "%s instance has no 'request' attribute. Did you override "</pre></li>
582
583 <li onclick="toggle('pre140272479994432', 'post140272479994432')"><pre> "setup() and forget to call super()?" % cls.__name__</pre></li>
584
585 <li onclick="toggle('pre140272479994432', 'post140272479994432')"><pre> )</pre></li>
586
587 </ol>
588
589 <ol start="70" class="context-line">
590 <li onclick="toggle('pre140272479994432', 'post140272479994432')"><pre> return self.dispatch(request, *args, **kwargs)</pre> <span>…</span></li>
591 </ol>
592
593 <ol start="71" class="post-context" id="post140272479994432" style="display: none;">
594
595 <li onclick="toggle('pre140272479994432', 'post140272479994432')"><pre> view.view_class = cls</pre></li>
596
597 <li onclick="toggle('pre140272479994432', 'post140272479994432')"><pre> view.view_initkwargs = initkwargs</pre></li>
598
599 <li onclick="toggle('pre140272479994432', 'post140272479994432')"><pre></pre></li>
600
601 <li onclick="toggle('pre140272479994432', 'post140272479994432')"><pre> # take name and docstring from class</pre></li>
602
603 <li onclick="toggle('pre140272479994432', 'post140272479994432')"><pre> update_wrapper(view, cls, updated=())</pre></li>
604
605 <li onclick="toggle('pre140272479994432', 'post140272479994432')"><pre></pre></li>
606
607 </ol>
608
609 </div>
610
611
612
613 <div class="commands">
614
615 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479994432')"><span>▶</span> Local vars</a>
616
617 </div>
618 <table class="vars" id="v140272479994432" style="display: none;">
619 <thead>
620 <tr>
621 <th>Variable</th>
622 <th>Value</th>
623 </tr>
624 </thead>
625 <tbody>
626
627 <tr>
628 <td>args</td>
629 <td class="code"><pre>()</pre></td>
630 </tr>
631
632 <tr>
633 <td>cls</td>
634 <td class="code"><pre><class 'manobhavana.apps.payment.views.VerifyEsewaViewSet'></pre></td>
635 </tr>
636
637 <tr>
638 <td>initkwargs</td>
639 <td class="code"><pre>{}</pre></td>
640 </tr>
641
642 <tr>
643 <td>kwargs</td>
644 <td class="code"><pre>{}</pre></td>
645 </tr>
646
647 <tr>
648 <td>request</td>
649 <td class="code"><pre><WSGIRequest: POST '/payment/esewa/'></pre></td>
650 </tr>
651
652 <tr>
653 <td>self</td>
654 <td class="code"><pre><manobhavana.apps.payment.views.VerifyEsewaViewSet object at 0x7f93bb5a2190></pre></td>
655 </tr>
656
657 </tbody>
658 </table>
659
660 </li>
661
662
663 <li class="frame user">
664
665 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/rest_framework/views.py</code>, line 509, in dispatch
666
667
668
669 <div class="context" id="c140272479997120">
670
671 <ol start="502" class="pre-context" id="pre140272479997120" style="display: none;">
672
673 <li onclick="toggle('pre140272479997120', 'post140272479997120')"><pre> self.http_method_not_allowed)</pre></li>
674
675 <li onclick="toggle('pre140272479997120', 'post140272479997120')"><pre> else:</pre></li>
676
677 <li onclick="toggle('pre140272479997120', 'post140272479997120')"><pre> handler = self.http_method_not_allowed</pre></li>
678
679 <li onclick="toggle('pre140272479997120', 'post140272479997120')"><pre></pre></li>
680
681 <li onclick="toggle('pre140272479997120', 'post140272479997120')"><pre> response = handler(request, *args, **kwargs)</pre></li>
682
683 <li onclick="toggle('pre140272479997120', 'post140272479997120')"><pre></pre></li>
684
685 <li onclick="toggle('pre140272479997120', 'post140272479997120')"><pre> except Exception as exc:</pre></li>
686
687 </ol>
688
689 <ol start="509" class="context-line">
690 <li onclick="toggle('pre140272479997120', 'post140272479997120')"><pre> response = self.handle_exception(exc)</pre> <span>…</span></li>
691 </ol>
692
693 <ol start="510" class="post-context" id="post140272479997120" style="display: none;">
694
695 <li onclick="toggle('pre140272479997120', 'post140272479997120')"><pre></pre></li>
696
697 <li onclick="toggle('pre140272479997120', 'post140272479997120')"><pre> self.response = self.finalize_response(request, response, *args, **kwargs)</pre></li>
698
699 <li onclick="toggle('pre140272479997120', 'post140272479997120')"><pre> return self.response</pre></li>
700
701 <li onclick="toggle('pre140272479997120', 'post140272479997120')"><pre></pre></li>
702
703 <li onclick="toggle('pre140272479997120', 'post140272479997120')"><pre> def options(self, request, *args, **kwargs):</pre></li>
704
705 <li onclick="toggle('pre140272479997120', 'post140272479997120')"><pre> """</pre></li>
706
707 </ol>
708
709 </div>
710
711
712
713 <div class="commands">
714
715 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479997120')"><span>▶</span> Local vars</a>
716
717 </div>
718 <table class="vars" id="v140272479997120" style="display: none;">
719 <thead>
720 <tr>
721 <th>Variable</th>
722 <th>Value</th>
723 </tr>
724 </thead>
725 <tbody>
726
727 <tr>
728 <td>args</td>
729 <td class="code"><pre>()</pre></td>
730 </tr>
731
732 <tr>
733 <td>handler</td>
734 <td class="code"><pre><bound method VerifyEsewaViewSet.post of <manobhavana.apps.payment.views.VerifyEsewaViewSet object at 0x7f93bb5a2190>></pre></td>
735 </tr>
736
737 <tr>
738 <td>kwargs</td>
739 <td class="code"><pre>{}</pre></td>
740 </tr>
741
742 <tr>
743 <td>request</td>
744 <td class="code"><pre><rest_framework.request.Request: POST '/payment/esewa/'></pre></td>
745 </tr>
746
747 <tr>
748 <td>self</td>
749 <td class="code"><pre><manobhavana.apps.payment.views.VerifyEsewaViewSet object at 0x7f93bb5a2190></pre></td>
750 </tr>
751
752 </tbody>
753 </table>
754
755 </li>
756
757
758 <li class="frame user">
759
760 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/rest_framework/views.py</code>, line 469, in handle_exception
761
762
763
764 <div class="context" id="c140272479996736">
765
766 <ol start="462" class="pre-context" id="pre140272479996736" style="display: none;">
767
768 <li onclick="toggle('pre140272479996736', 'post140272479996736')"><pre></pre></li>
769
770 <li onclick="toggle('pre140272479996736', 'post140272479996736')"><pre> exception_handler = self.get_exception_handler()</pre></li>
771
772 <li onclick="toggle('pre140272479996736', 'post140272479996736')"><pre></pre></li>
773
774 <li onclick="toggle('pre140272479996736', 'post140272479996736')"><pre> context = self.get_exception_handler_context()</pre></li>
775
776 <li onclick="toggle('pre140272479996736', 'post140272479996736')"><pre> response = exception_handler(exc, context)</pre></li>
777
778 <li onclick="toggle('pre140272479996736', 'post140272479996736')"><pre></pre></li>
779
780 <li onclick="toggle('pre140272479996736', 'post140272479996736')"><pre> if response is None:</pre></li>
781
782 </ol>
783
784 <ol start="469" class="context-line">
785 <li onclick="toggle('pre140272479996736', 'post140272479996736')"><pre> self.raise_uncaught_exception(exc)</pre> <span>…</span></li>
786 </ol>
787
788 <ol start="470" class="post-context" id="post140272479996736" style="display: none;">
789
790 <li onclick="toggle('pre140272479996736', 'post140272479996736')"><pre></pre></li>
791
792 <li onclick="toggle('pre140272479996736', 'post140272479996736')"><pre> response.exception = True</pre></li>
793
794 <li onclick="toggle('pre140272479996736', 'post140272479996736')"><pre> return response</pre></li>
795
796 <li onclick="toggle('pre140272479996736', 'post140272479996736')"><pre></pre></li>
797
798 <li onclick="toggle('pre140272479996736', 'post140272479996736')"><pre> def raise_uncaught_exception(self, exc):</pre></li>
799
800 <li onclick="toggle('pre140272479996736', 'post140272479996736')"><pre> if settings.DEBUG:</pre></li>
801
802 </ol>
803
804 </div>
805
806
807
808 <div class="commands">
809
810 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479996736')"><span>▶</span> Local vars</a>
811
812 </div>
813 <table class="vars" id="v140272479996736" style="display: none;">
814 <thead>
815 <tr>
816 <th>Variable</th>
817 <th>Value</th>
818 </tr>
819 </thead>
820 <tbody>
821
822 <tr>
823 <td>context</td>
824 <td class="code"><pre>{'args': (),
825 'kwargs': {},
826 'request': <rest_framework.request.Request: POST '/payment/esewa/'>,
827 'view': <manobhavana.apps.payment.views.VerifyEsewaViewSet object at 0x7f93bb5a2190>}</pre></td>
828 </tr>
829
830 <tr>
831 <td>exc</td>
832 <td class="code"><pre>IntegrityError('duplicate key value violates unique constraint "chat_contact_user_pkg_id_key"\nDETAIL: Key (user_pkg_id)=(773641888890319) already exists.\n')</pre></td>
833 </tr>
834
835 <tr>
836 <td>exception_handler</td>
837 <td class="code"><pre><function exception_handler at 0x7f93c0a4f5e0></pre></td>
838 </tr>
839
840 <tr>
841 <td>response</td>
842 <td class="code"><pre>None</pre></td>
843 </tr>
844
845 <tr>
846 <td>self</td>
847 <td class="code"><pre><manobhavana.apps.payment.views.VerifyEsewaViewSet object at 0x7f93bb5a2190></pre></td>
848 </tr>
849
850 </tbody>
851 </table>
852
853 </li>
854
855
856 <li class="frame user">
857
858 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/rest_framework/views.py</code>, line 480, in raise_uncaught_exception
859
860
861
862 <div class="context" id="c140272479994368">
863
864 <ol start="473" class="pre-context" id="pre140272479994368" style="display: none;">
865
866 <li onclick="toggle('pre140272479994368', 'post140272479994368')"><pre></pre></li>
867
868 <li onclick="toggle('pre140272479994368', 'post140272479994368')"><pre> def raise_uncaught_exception(self, exc):</pre></li>
869
870 <li onclick="toggle('pre140272479994368', 'post140272479994368')"><pre> if settings.DEBUG:</pre></li>
871
872 <li onclick="toggle('pre140272479994368', 'post140272479994368')"><pre> request = self.request</pre></li>
873
874 <li onclick="toggle('pre140272479994368', 'post140272479994368')"><pre> renderer_format = getattr(request.accepted_renderer, 'format')</pre></li>
875
876 <li onclick="toggle('pre140272479994368', 'post140272479994368')"><pre> use_plaintext_traceback = renderer_format not in ('html', 'api', 'admin')</pre></li>
877
878 <li onclick="toggle('pre140272479994368', 'post140272479994368')"><pre> request.force_plaintext_errors(use_plaintext_traceback)</pre></li>
879
880 </ol>
881
882 <ol start="480" class="context-line">
883 <li onclick="toggle('pre140272479994368', 'post140272479994368')"><pre> raise exc</pre> <span>…</span></li>
884 </ol>
885
886 <ol start="481" class="post-context" id="post140272479994368" style="display: none;">
887
888 <li onclick="toggle('pre140272479994368', 'post140272479994368')"><pre></pre></li>
889
890 <li onclick="toggle('pre140272479994368', 'post140272479994368')"><pre> # Note: Views are made CSRF exempt from within `as_view` as to prevent</pre></li>
891
892 <li onclick="toggle('pre140272479994368', 'post140272479994368')"><pre> # accidental removal of this exemption in cases where `dispatch` needs to</pre></li>
893
894 <li onclick="toggle('pre140272479994368', 'post140272479994368')"><pre> # be overridden.</pre></li>
895
896 <li onclick="toggle('pre140272479994368', 'post140272479994368')"><pre> def dispatch(self, request, *args, **kwargs):</pre></li>
897
898 <li onclick="toggle('pre140272479994368', 'post140272479994368')"><pre> """</pre></li>
899
900 </ol>
901
902 </div>
903
904
905
906 <div class="commands">
907
908 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479994368')"><span>▶</span> Local vars</a>
909
910 </div>
911 <table class="vars" id="v140272479994368" style="display: none;">
912 <thead>
913 <tr>
914 <th>Variable</th>
915 <th>Value</th>
916 </tr>
917 </thead>
918 <tbody>
919
920 <tr>
921 <td>exc</td>
922 <td class="code"><pre>IntegrityError('duplicate key value violates unique constraint "chat_contact_user_pkg_id_key"\nDETAIL: Key (user_pkg_id)=(773641888890319) already exists.\n')</pre></td>
923 </tr>
924
925 <tr>
926 <td>renderer_format</td>
927 <td class="code"><pre>'json'</pre></td>
928 </tr>
929
930 <tr>
931 <td>request</td>
932 <td class="code"><pre><rest_framework.request.Request: POST '/payment/esewa/'></pre></td>
933 </tr>
934
935 <tr>
936 <td>self</td>
937 <td class="code"><pre><manobhavana.apps.payment.views.VerifyEsewaViewSet object at 0x7f93bb5a2190></pre></td>
938 </tr>
939
940 <tr>
941 <td>use_plaintext_traceback</td>
942 <td class="code"><pre>True</pre></td>
943 </tr>
944
945 </tbody>
946 </table>
947
948 </li>
949
950
951 <li class="frame user">
952
953 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/rest_framework/views.py</code>, line 506, in dispatch
954
955
956
957 <div class="context" id="c140272479997888">
958
959 <ol start="499" class="pre-context" id="pre140272479997888" style="display: none;">
960
961 <li onclick="toggle('pre140272479997888', 'post140272479997888')"><pre> # Get the appropriate handler method</pre></li>
962
963 <li onclick="toggle('pre140272479997888', 'post140272479997888')"><pre> if request.method.lower() in self.http_method_names:</pre></li>
964
965 <li onclick="toggle('pre140272479997888', 'post140272479997888')"><pre> handler = getattr(self, request.method.lower(),</pre></li>
966
967 <li onclick="toggle('pre140272479997888', 'post140272479997888')"><pre> self.http_method_not_allowed)</pre></li>
968
969 <li onclick="toggle('pre140272479997888', 'post140272479997888')"><pre> else:</pre></li>
970
971 <li onclick="toggle('pre140272479997888', 'post140272479997888')"><pre> handler = self.http_method_not_allowed</pre></li>
972
973 <li onclick="toggle('pre140272479997888', 'post140272479997888')"><pre></pre></li>
974
975 </ol>
976
977 <ol start="506" class="context-line">
978 <li onclick="toggle('pre140272479997888', 'post140272479997888')"><pre> response = handler(request, *args, **kwargs)</pre> <span>…</span></li>
979 </ol>
980
981 <ol start="507" class="post-context" id="post140272479997888" style="display: none;">
982
983 <li onclick="toggle('pre140272479997888', 'post140272479997888')"><pre></pre></li>
984
985 <li onclick="toggle('pre140272479997888', 'post140272479997888')"><pre> except Exception as exc:</pre></li>
986
987 <li onclick="toggle('pre140272479997888', 'post140272479997888')"><pre> response = self.handle_exception(exc)</pre></li>
988
989 <li onclick="toggle('pre140272479997888', 'post140272479997888')"><pre></pre></li>
990
991 <li onclick="toggle('pre140272479997888', 'post140272479997888')"><pre> self.response = self.finalize_response(request, response, *args, **kwargs)</pre></li>
992
993 <li onclick="toggle('pre140272479997888', 'post140272479997888')"><pre> return self.response</pre></li>
994
995 </ol>
996
997 </div>
998
999
1000
1001 <div class="commands">
1002
1003 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479997888')"><span>▶</span> Local vars</a>
1004
1005 </div>
1006 <table class="vars" id="v140272479997888" style="display: none;">
1007 <thead>
1008 <tr>
1009 <th>Variable</th>
1010 <th>Value</th>
1011 </tr>
1012 </thead>
1013 <tbody>
1014
1015 <tr>
1016 <td>args</td>
1017 <td class="code"><pre>()</pre></td>
1018 </tr>
1019
1020 <tr>
1021 <td>handler</td>
1022 <td class="code"><pre><bound method VerifyEsewaViewSet.post of <manobhavana.apps.payment.views.VerifyEsewaViewSet object at 0x7f93bb5a2190>></pre></td>
1023 </tr>
1024
1025 <tr>
1026 <td>kwargs</td>
1027 <td class="code"><pre>{}</pre></td>
1028 </tr>
1029
1030 <tr>
1031 <td>request</td>
1032 <td class="code"><pre><rest_framework.request.Request: POST '/payment/esewa/'></pre></td>
1033 </tr>
1034
1035 <tr>
1036 <td>self</td>
1037 <td class="code"><pre><manobhavana.apps.payment.views.VerifyEsewaViewSet object at 0x7f93bb5a2190></pre></td>
1038 </tr>
1039
1040 </tbody>
1041 </table>
1042
1043 </li>
1044
1045
1046 <li class="frame user">
1047
1048 <code class="fname">/home/ubuntu/pdl_backend/manobhavana/apps/payment/views.py</code>, line 38, in post
1049
1050
1051
1052 <div class="context" id="c140272479997376">
1053
1054 <ol start="31" class="pre-context" id="pre140272479997376" style="display: none;">
1055
1056 <li onclick="toggle('pre140272479997376', 'post140272479997376')"><pre>class VerifyEsewaViewSet(APIView):</pre></li>
1057
1058 <li onclick="toggle('pre140272479997376', 'post140272479997376')"><pre> """</pre></li>
1059
1060 <li onclick="toggle('pre140272479997376', 'post140272479997376')"><pre> Esewa Payment Verification</pre></li>
1061
1062 <li onclick="toggle('pre140272479997376', 'post140272479997376')"><pre> """</pre></li>
1063
1064 <li onclick="toggle('pre140272479997376', 'post140272479997376')"><pre></pre></li>
1065
1066 <li onclick="toggle('pre140272479997376', 'post140272479997376')"><pre> def post(self, request, format=None):</pre></li>
1067
1068 <li onclick="toggle('pre140272479997376', 'post140272479997376')"><pre> serializer = EsewaVerifySerializer(data=request.data)</pre></li>
1069
1070 </ol>
1071
1072 <ol start="38" class="context-line">
1073 <li onclick="toggle('pre140272479997376', 'post140272479997376')"><pre> if serializer.is_valid():</pre> <span>…</span></li>
1074 </ol>
1075
1076 <ol start="39" class="post-context" id="post140272479997376" style="display: none;">
1077
1078 <li onclick="toggle('pre140272479997376', 'post140272479997376')"><pre> return Response(serializer.validated_data, status=status.HTTP_201_CREATED)</pre></li>
1079
1080 <li onclick="toggle('pre140272479997376', 'post140272479997376')"><pre> return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)</pre></li>
1081
1082 <li onclick="toggle('pre140272479997376', 'post140272479997376')"><pre></pre></li>
1083
1084 <li onclick="toggle('pre140272479997376', 'post140272479997376')"><pre></pre></li>
1085
1086 <li onclick="toggle('pre140272479997376', 'post140272479997376')"><pre>verify_esewa = VerifyEsewaViewSet.as_view()</pre></li>
1087
1088 <li onclick="toggle('pre140272479997376', 'post140272479997376')"><pre></pre></li>
1089
1090 </ol>
1091
1092 </div>
1093
1094
1095
1096 <div class="commands">
1097
1098 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479997376')"><span>▶</span> Local vars</a>
1099
1100 </div>
1101 <table class="vars" id="v140272479997376" style="display: none;">
1102 <thead>
1103 <tr>
1104 <th>Variable</th>
1105 <th>Value</th>
1106 </tr>
1107 </thead>
1108 <tbody>
1109
1110 <tr>
1111 <td>format</td>
1112 <td class="code"><pre>None</pre></td>
1113 </tr>
1114
1115 <tr>
1116 <td>request</td>
1117 <td class="code"><pre><rest_framework.request.Request: POST '/payment/esewa/'></pre></td>
1118 </tr>
1119
1120 <tr>
1121 <td>self</td>
1122 <td class="code"><pre><manobhavana.apps.payment.views.VerifyEsewaViewSet object at 0x7f93bb5a2190></pre></td>
1123 </tr>
1124
1125 <tr>
1126 <td>serializer</td>
1127 <td class="code"><pre>EsewaVerifySerializer(data={'token': '00028OZ', 'amount': '113.0', 'user_package': 773641888890319}):
1128 token = CharField()
1129 amount = CharField()
1130 user_package = CharField()</pre></td>
1131 </tr>
1132
1133 </tbody>
1134 </table>
1135
1136 </li>
1137
1138
1139 <li class="frame user">
1140
1141 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/rest_framework/serializers.py</code>, line 220, in is_valid
1142
1143
1144
1145 <div class="context" id="c140272479996800">
1146
1147 <ol start="213" class="pre-context" id="pre140272479996800" style="display: none;">
1148
1149 <li onclick="toggle('pre140272479996800', 'post140272479996800')"><pre> assert hasattr(self, 'initial_data'), (</pre></li>
1150
1151 <li onclick="toggle('pre140272479996800', 'post140272479996800')"><pre> 'Cannot call `.is_valid()` as no `data=` keyword argument was '</pre></li>
1152
1153 <li onclick="toggle('pre140272479996800', 'post140272479996800')"><pre> 'passed when instantiating the serializer instance.'</pre></li>
1154
1155 <li onclick="toggle('pre140272479996800', 'post140272479996800')"><pre> )</pre></li>
1156
1157 <li onclick="toggle('pre140272479996800', 'post140272479996800')"><pre></pre></li>
1158
1159 <li onclick="toggle('pre140272479996800', 'post140272479996800')"><pre> if not hasattr(self, '_validated_data'):</pre></li>
1160
1161 <li onclick="toggle('pre140272479996800', 'post140272479996800')"><pre> try:</pre></li>
1162
1163 </ol>
1164
1165 <ol start="220" class="context-line">
1166 <li onclick="toggle('pre140272479996800', 'post140272479996800')"><pre> self._validated_data = self.run_validation(self.initial_data)</pre> <span>…</span></li>
1167 </ol>
1168
1169 <ol start="221" class="post-context" id="post140272479996800" style="display: none;">
1170
1171 <li onclick="toggle('pre140272479996800', 'post140272479996800')"><pre> except ValidationError as exc:</pre></li>
1172
1173 <li onclick="toggle('pre140272479996800', 'post140272479996800')"><pre> self._validated_data = {}</pre></li>
1174
1175 <li onclick="toggle('pre140272479996800', 'post140272479996800')"><pre> self._errors = exc.detail</pre></li>
1176
1177 <li onclick="toggle('pre140272479996800', 'post140272479996800')"><pre> else:</pre></li>
1178
1179 <li onclick="toggle('pre140272479996800', 'post140272479996800')"><pre> self._errors = {}</pre></li>
1180
1181 <li onclick="toggle('pre140272479996800', 'post140272479996800')"><pre></pre></li>
1182
1183 </ol>
1184
1185 </div>
1186
1187
1188
1189 <div class="commands">
1190
1191 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479996800')"><span>▶</span> Local vars</a>
1192
1193 </div>
1194 <table class="vars" id="v140272479996800" style="display: none;">
1195 <thead>
1196 <tr>
1197 <th>Variable</th>
1198 <th>Value</th>
1199 </tr>
1200 </thead>
1201 <tbody>
1202
1203 <tr>
1204 <td>raise_exception</td>
1205 <td class="code"><pre>False</pre></td>
1206 </tr>
1207
1208 <tr>
1209 <td>self</td>
1210 <td class="code"><pre>EsewaVerifySerializer(data={'token': '00028OZ', 'amount': '113.0', 'user_package': 773641888890319}):
1211 token = CharField()
1212 amount = CharField()
1213 user_package = CharField()</pre></td>
1214 </tr>
1215
1216 </tbody>
1217 </table>
1218
1219 </li>
1220
1221
1222 <li class="frame user">
1223
1224 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/rest_framework/serializers.py</code>, line 422, in run_validation
1225
1226
1227
1228 <div class="context" id="c140272479994048">
1229
1230 <ol start="415" class="pre-context" id="pre140272479994048" style="display: none;">
1231
1232 <li onclick="toggle('pre140272479994048', 'post140272479994048')"><pre> (is_empty_value, data) = self.validate_empty_values(data)</pre></li>
1233
1234 <li onclick="toggle('pre140272479994048', 'post140272479994048')"><pre> if is_empty_value:</pre></li>
1235
1236 <li onclick="toggle('pre140272479994048', 'post140272479994048')"><pre> return data</pre></li>
1237
1238 <li onclick="toggle('pre140272479994048', 'post140272479994048')"><pre></pre></li>
1239
1240 <li onclick="toggle('pre140272479994048', 'post140272479994048')"><pre> value = self.to_internal_value(data)</pre></li>
1241
1242 <li onclick="toggle('pre140272479994048', 'post140272479994048')"><pre> try:</pre></li>
1243
1244 <li onclick="toggle('pre140272479994048', 'post140272479994048')"><pre> self.run_validators(value)</pre></li>
1245
1246 </ol>
1247
1248 <ol start="422" class="context-line">
1249 <li onclick="toggle('pre140272479994048', 'post140272479994048')"><pre> value = self.validate(value)</pre> <span>…</span></li>
1250 </ol>
1251
1252 <ol start="423" class="post-context" id="post140272479994048" style="display: none;">
1253
1254 <li onclick="toggle('pre140272479994048', 'post140272479994048')"><pre> assert value is not None, '.validate() should return the validated data'</pre></li>
1255
1256 <li onclick="toggle('pre140272479994048', 'post140272479994048')"><pre> except (ValidationError, DjangoValidationError) as exc:</pre></li>
1257
1258 <li onclick="toggle('pre140272479994048', 'post140272479994048')"><pre> raise ValidationError(detail=as_serializer_error(exc))</pre></li>
1259
1260 <li onclick="toggle('pre140272479994048', 'post140272479994048')"><pre></pre></li>
1261
1262 <li onclick="toggle('pre140272479994048', 'post140272479994048')"><pre> return value</pre></li>
1263
1264 <li onclick="toggle('pre140272479994048', 'post140272479994048')"><pre></pre></li>
1265
1266 </ol>
1267
1268 </div>
1269
1270
1271
1272 <div class="commands">
1273
1274 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479994048')"><span>▶</span> Local vars</a>
1275
1276 </div>
1277 <table class="vars" id="v140272479994048" style="display: none;">
1278 <thead>
1279 <tr>
1280 <th>Variable</th>
1281 <th>Value</th>
1282 </tr>
1283 </thead>
1284 <tbody>
1285
1286 <tr>
1287 <td>data</td>
1288 <td class="code"><pre>{'amount': '113.0', 'token': '00028OZ', 'user_package': 773641888890319}</pre></td>
1289 </tr>
1290
1291 <tr>
1292 <td>is_empty_value</td>
1293 <td class="code"><pre>False</pre></td>
1294 </tr>
1295
1296 <tr>
1297 <td>self</td>
1298 <td class="code"><pre>EsewaVerifySerializer(data={'token': '00028OZ', 'amount': '113.0', 'user_package': 773641888890319}):
1299 token = CharField()
1300 amount = CharField()
1301 user_package = CharField()</pre></td>
1302 </tr>
1303
1304 <tr>
1305 <td>value</td>
1306 <td class="code"><pre>OrderedDict([('token', '00028OZ'),
1307 ('amount', '113.0'),
1308 ('user_package', '773641888890319')])</pre></td>
1309 </tr>
1310
1311 </tbody>
1312 </table>
1313
1314 </li>
1315
1316
1317 <li class="frame user">
1318
1319 <code class="fname">/home/ubuntu/pdl_backend/manobhavana/apps/payment/serializers.py</code>, line 117, in validate
1320
1321
1322
1323 <div class="context" id="c140272479996928">
1324
1325 <ol start="110" class="pre-context" id="pre140272479996928" style="display: none;">
1326
1327 <li onclick="toggle('pre140272479996928', 'post140272479996928')"><pre> response = Esewa.validate(token, amount, package)</pre></li>
1328
1329 <li onclick="toggle('pre140272479996928', 'post140272479996928')"><pre> data = xmltodict.parse(response.content)</pre></li>
1330
1331 <li onclick="toggle('pre140272479996928', 'post140272479996928')"><pre> # print(data['response']['response_code'])</pre></li>
1332
1333 <li onclick="toggle('pre140272479996928', 'post140272479996928')"><pre> if data['response']['response_code'] == 'Success':</pre></li>
1334
1335 <li onclick="toggle('pre140272479996928', 'post140272479996928')"><pre> payment.is_paid = True</pre></li>
1336
1337 <li onclick="toggle('pre140272479996928', 'post140272479996928')"><pre> payment.payment_provider = "Esewa Payment"</pre></li>
1338
1339 <li onclick="toggle('pre140272479996928', 'post140272479996928')"><pre> payment.counter = int(payment.counter) -1</pre></li>
1340
1341 </ol>
1342
1343 <ol start="117" class="context-line">
1344 <li onclick="toggle('pre140272479996928', 'post140272479996928')"><pre> payment.save()</pre> <span>…</span></li>
1345 </ol>
1346
1347 <ol start="118" class="post-context" id="post140272479996928" style="display: none;">
1348
1349 <li onclick="toggle('pre140272479996928', 'post140272479996928')"><pre> user_package = UserPackage.objects.get(id=package)</pre></li>
1350
1351 <li onclick="toggle('pre140272479996928', 'post140272479996928')"><pre> total_amount = payment.total_amount</pre></li>
1352
1353 <li onclick="toggle('pre140272479996928', 'post140272479996928')"><pre> cut_amount = (total_amount * int(100-user_package.assign_counsellor.pay_rate)) / 100</pre></li>
1354
1355 <li onclick="toggle('pre140272479996928', 'post140272479996928')"><pre> payable_amount = total_amount - cut_amount</pre></li>
1356
1357 <li onclick="toggle('pre140272479996928', 'post140272479996928')"><pre> holding = PackageBalance.objects.create(user_package=payment.user_package,</pre></li>
1358
1359 <li onclick="toggle('pre140272479996928', 'post140272479996928')"><pre> package_amount=payment.total_amount,</pre></li>
1360
1361 </ol>
1362
1363 </div>
1364
1365
1366
1367 <div class="commands">
1368
1369 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479996928')"><span>▶</span> Local vars</a>
1370
1371 </div>
1372 <table class="vars" id="v140272479996928" style="display: none;">
1373 <thead>
1374 <tr>
1375 <th>Variable</th>
1376 <th>Value</th>
1377 </tr>
1378 </thead>
1379 <tbody>
1380
1381 <tr>
1382 <td>amount</td>
1383 <td class="code"><pre>'113.0'</pre></td>
1384 </tr>
1385
1386 <tr>
1387 <td>data</td>
1388 <td class="code"><pre>OrderedDict([('response', OrderedDict([('response_code', 'Success')]))])</pre></td>
1389 </tr>
1390
1391 <tr>
1392 <td>package</td>
1393 <td class="code"><pre>'773641888890319'</pre></td>
1394 </tr>
1395
1396 <tr>
1397 <td>payment</td>
1398 <td class="code"><pre><PackagePayment: PackagePayment object (750679589504946)></pre></td>
1399 </tr>
1400
1401 <tr>
1402 <td>response</td>
1403 <td class="code"><pre><Response [200]></pre></td>
1404 </tr>
1405
1406 <tr>
1407 <td>self</td>
1408 <td class="code"><pre>EsewaVerifySerializer(data={'token': '00028OZ', 'amount': '113.0', 'user_package': 773641888890319}):
1409 token = CharField()
1410 amount = CharField()
1411 user_package = CharField()</pre></td>
1412 </tr>
1413
1414 <tr>
1415 <td>token</td>
1416 <td class="code"><pre>'00028OZ'</pre></td>
1417 </tr>
1418
1419 </tbody>
1420 </table>
1421
1422 </li>
1423
1424
1425 <li class="frame user">
1426
1427 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/safedelete/models.py</code>, line 98, in save
1428
1429
1430
1431 <div class="context" id="c140272479995840">
1432
1433 <ol start="91" class="pre-context" id="pre140272479995840" style="display: none;">
1434
1435 <li onclick="toggle('pre140272479995840', 'post140272479995840')"><pre></pre></li>
1436
1437 <li onclick="toggle('pre140272479995840', 'post140272479995840')"><pre> was_undeleted = False</pre></li>
1438
1439 <li onclick="toggle('pre140272479995840', 'post140272479995840')"><pre> if not keep_deleted:</pre></li>
1440
1441 <li onclick="toggle('pre140272479995840', 'post140272479995840')"><pre> if self.deleted and self.pk:</pre></li>
1442
1443 <li onclick="toggle('pre140272479995840', 'post140272479995840')"><pre> was_undeleted = True</pre></li>
1444
1445 <li onclick="toggle('pre140272479995840', 'post140272479995840')"><pre> self.deleted = None</pre></li>
1446
1447 <li onclick="toggle('pre140272479995840', 'post140272479995840')"><pre></pre></li>
1448
1449 </ol>
1450
1451 <ol start="98" class="context-line">
1452 <li onclick="toggle('pre140272479995840', 'post140272479995840')"><pre> super(SafeDeleteModel, self).save(**kwargs)</pre> <span>…</span></li>
1453 </ol>
1454
1455 <ol start="99" class="post-context" id="post140272479995840" style="display: none;">
1456
1457 <li onclick="toggle('pre140272479995840', 'post140272479995840')"><pre></pre></li>
1458
1459 <li onclick="toggle('pre140272479995840', 'post140272479995840')"><pre> if was_undeleted:</pre></li>
1460
1461 <li onclick="toggle('pre140272479995840', 'post140272479995840')"><pre> # send undelete signal</pre></li>
1462
1463 <li onclick="toggle('pre140272479995840', 'post140272479995840')"><pre> using = kwargs.get('using') or router.db_for_write(self.__class__, instance=self)</pre></li>
1464
1465 <li onclick="toggle('pre140272479995840', 'post140272479995840')"><pre> post_undelete.send(sender=self.__class__, instance=self, using=using)</pre></li>
1466
1467 <li onclick="toggle('pre140272479995840', 'post140272479995840')"><pre></pre></li>
1468
1469 </ol>
1470
1471 </div>
1472
1473
1474
1475 <div class="commands">
1476
1477 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479995840')"><span>▶</span> Local vars</a>
1478
1479 </div>
1480 <table class="vars" id="v140272479995840" style="display: none;">
1481 <thead>
1482 <tr>
1483 <th>Variable</th>
1484 <th>Value</th>
1485 </tr>
1486 </thead>
1487 <tbody>
1488
1489 <tr>
1490 <td>__class__</td>
1491 <td class="code"><pre><class 'safedelete.models.SafeDeleteModel'></pre></td>
1492 </tr>
1493
1494 <tr>
1495 <td>keep_deleted</td>
1496 <td class="code"><pre>False</pre></td>
1497 </tr>
1498
1499 <tr>
1500 <td>kwargs</td>
1501 <td class="code"><pre>{}</pre></td>
1502 </tr>
1503
1504 <tr>
1505 <td>self</td>
1506 <td class="code"><pre><PackagePayment: PackagePayment object (750679589504946)></pre></td>
1507 </tr>
1508
1509 <tr>
1510 <td>was_undeleted</td>
1511 <td class="code"><pre>False</pre></td>
1512 </tr>
1513
1514 </tbody>
1515 </table>
1516
1517 </li>
1518
1519
1520 <li class="frame django">
1521
1522 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/models/base.py</code>, line 726, in save
1523
1524
1525
1526 <div class="context" id="c140272479995456">
1527
1528 <ol start="719" class="pre-context" id="pre140272479995456" style="display: none;">
1529
1530 <li onclick="toggle('pre140272479995456', 'post140272479995456')"><pre> for field in self._meta.concrete_fields:</pre></li>
1531
1532 <li onclick="toggle('pre140272479995456', 'post140272479995456')"><pre> if not field.primary_key and not hasattr(field, 'through'):</pre></li>
1533
1534 <li onclick="toggle('pre140272479995456', 'post140272479995456')"><pre> field_names.add(field.attname)</pre></li>
1535
1536 <li onclick="toggle('pre140272479995456', 'post140272479995456')"><pre> loaded_fields = field_names.difference(deferred_fields)</pre></li>
1537
1538 <li onclick="toggle('pre140272479995456', 'post140272479995456')"><pre> if loaded_fields:</pre></li>
1539
1540 <li onclick="toggle('pre140272479995456', 'post140272479995456')"><pre> update_fields = frozenset(loaded_fields)</pre></li>
1541
1542 <li onclick="toggle('pre140272479995456', 'post140272479995456')"><pre></pre></li>
1543
1544 </ol>
1545
1546 <ol start="726" class="context-line">
1547 <li onclick="toggle('pre140272479995456', 'post140272479995456')"><pre> self.save_base(using=using, force_insert=force_insert,</pre> <span>…</span></li>
1548 </ol>
1549
1550 <ol start="727" class="post-context" id="post140272479995456" style="display: none;">
1551
1552 <li onclick="toggle('pre140272479995456', 'post140272479995456')"><pre> force_update=force_update, update_fields=update_fields)</pre></li>
1553
1554 <li onclick="toggle('pre140272479995456', 'post140272479995456')"><pre> save.alters_data = True</pre></li>
1555
1556 <li onclick="toggle('pre140272479995456', 'post140272479995456')"><pre></pre></li>
1557
1558 <li onclick="toggle('pre140272479995456', 'post140272479995456')"><pre> def save_base(self, raw=False, force_insert=False,</pre></li>
1559
1560 <li onclick="toggle('pre140272479995456', 'post140272479995456')"><pre> force_update=False, using=None, update_fields=None):</pre></li>
1561
1562 <li onclick="toggle('pre140272479995456', 'post140272479995456')"><pre> """</pre></li>
1563
1564 </ol>
1565
1566 </div>
1567
1568
1569
1570 <div class="commands">
1571
1572 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479995456')"><span>▶</span> Local vars</a>
1573
1574 </div>
1575 <table class="vars" id="v140272479995456" style="display: none;">
1576 <thead>
1577 <tr>
1578 <th>Variable</th>
1579 <th>Value</th>
1580 </tr>
1581 </thead>
1582 <tbody>
1583
1584 <tr>
1585 <td>deferred_fields</td>
1586 <td class="code"><pre>set()</pre></td>
1587 </tr>
1588
1589 <tr>
1590 <td>force_insert</td>
1591 <td class="code"><pre>False</pre></td>
1592 </tr>
1593
1594 <tr>
1595 <td>force_update</td>
1596 <td class="code"><pre>False</pre></td>
1597 </tr>
1598
1599 <tr>
1600 <td>self</td>
1601 <td class="code"><pre><PackagePayment: PackagePayment object (750679589504946)></pre></td>
1602 </tr>
1603
1604 <tr>
1605 <td>update_fields</td>
1606 <td class="code"><pre>None</pre></td>
1607 </tr>
1608
1609 <tr>
1610 <td>using</td>
1611 <td class="code"><pre>'default'</pre></td>
1612 </tr>
1613
1614 </tbody>
1615 </table>
1616
1617 </li>
1618
1619
1620 <li class="frame django">
1621
1622 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/models/base.py</code>, line 774, in save_base
1623
1624
1625
1626 <div class="context" id="c140272479995392">
1627
1628 <ol start="767" class="pre-context" id="pre140272479995392" style="display: none;">
1629
1630 <li onclick="toggle('pre140272479995392', 'post140272479995392')"><pre> # Store the database on which the object was saved</pre></li>
1631
1632 <li onclick="toggle('pre140272479995392', 'post140272479995392')"><pre> self._state.db = using</pre></li>
1633
1634 <li onclick="toggle('pre140272479995392', 'post140272479995392')"><pre> # Once saved, this is no longer a to-be-added instance.</pre></li>
1635
1636 <li onclick="toggle('pre140272479995392', 'post140272479995392')"><pre> self._state.adding = False</pre></li>
1637
1638 <li onclick="toggle('pre140272479995392', 'post140272479995392')"><pre></pre></li>
1639
1640 <li onclick="toggle('pre140272479995392', 'post140272479995392')"><pre> # Signal that the save is complete</pre></li>
1641
1642 <li onclick="toggle('pre140272479995392', 'post140272479995392')"><pre> if not meta.auto_created:</pre></li>
1643
1644 </ol>
1645
1646 <ol start="774" class="context-line">
1647 <li onclick="toggle('pre140272479995392', 'post140272479995392')"><pre> post_save.send(</pre> <span>…</span></li>
1648 </ol>
1649
1650 <ol start="775" class="post-context" id="post140272479995392" style="display: none;">
1651
1652 <li onclick="toggle('pre140272479995392', 'post140272479995392')"><pre> sender=origin, instance=self, created=(not updated),</pre></li>
1653
1654 <li onclick="toggle('pre140272479995392', 'post140272479995392')"><pre> update_fields=update_fields, raw=raw, using=using,</pre></li>
1655
1656 <li onclick="toggle('pre140272479995392', 'post140272479995392')"><pre> )</pre></li>
1657
1658 <li onclick="toggle('pre140272479995392', 'post140272479995392')"><pre></pre></li>
1659
1660 <li onclick="toggle('pre140272479995392', 'post140272479995392')"><pre> save_base.alters_data = True</pre></li>
1661
1662 <li onclick="toggle('pre140272479995392', 'post140272479995392')"><pre></pre></li>
1663
1664 </ol>
1665
1666 </div>
1667
1668
1669
1670 <div class="commands">
1671
1672 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479995392')"><span>▶</span> Local vars</a>
1673
1674 </div>
1675 <table class="vars" id="v140272479995392" style="display: none;">
1676 <thead>
1677 <tr>
1678 <th>Variable</th>
1679 <th>Value</th>
1680 </tr>
1681 </thead>
1682 <tbody>
1683
1684 <tr>
1685 <td>cls</td>
1686 <td class="code"><pre><class 'manobhavana.apps.payment.models.PackagePayment'></pre></td>
1687 </tr>
1688
1689 <tr>
1690 <td>context_manager</td>
1691 <td class="code"><pre><contextlib._GeneratorContextManager object at 0x7f93bb5a2040></pre></td>
1692 </tr>
1693
1694 <tr>
1695 <td>force_insert</td>
1696 <td class="code"><pre>False</pre></td>
1697 </tr>
1698
1699 <tr>
1700 <td>force_update</td>
1701 <td class="code"><pre>False</pre></td>
1702 </tr>
1703
1704 <tr>
1705 <td>meta</td>
1706 <td class="code"><pre><Options for PackagePayment></pre></td>
1707 </tr>
1708
1709 <tr>
1710 <td>origin</td>
1711 <td class="code"><pre><class 'manobhavana.apps.payment.models.PackagePayment'></pre></td>
1712 </tr>
1713
1714 <tr>
1715 <td>parent_inserted</td>
1716 <td class="code"><pre>False</pre></td>
1717 </tr>
1718
1719 <tr>
1720 <td>raw</td>
1721 <td class="code"><pre>False</pre></td>
1722 </tr>
1723
1724 <tr>
1725 <td>self</td>
1726 <td class="code"><pre><PackagePayment: PackagePayment object (750679589504946)></pre></td>
1727 </tr>
1728
1729 <tr>
1730 <td>update_fields</td>
1731 <td class="code"><pre>None</pre></td>
1732 </tr>
1733
1734 <tr>
1735 <td>updated</td>
1736 <td class="code"><pre>True</pre></td>
1737 </tr>
1738
1739 <tr>
1740 <td>using</td>
1741 <td class="code"><pre>'default'</pre></td>
1742 </tr>
1743
1744 </tbody>
1745 </table>
1746
1747 </li>
1748
1749
1750 <li class="frame django">
1751
1752 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/dispatch/dispatcher.py</code>, line 180, in send
1753
1754
1755
1756 <div class="context" id="c140272479994816">
1757
1758 <ol start="173" class="pre-context" id="pre140272479994816" style="display: none;">
1759
1760 <li onclick="toggle('pre140272479994816', 'post140272479994816')"><pre> Named arguments which will be passed to receivers.</pre></li>
1761
1762 <li onclick="toggle('pre140272479994816', 'post140272479994816')"><pre></pre></li>
1763
1764 <li onclick="toggle('pre140272479994816', 'post140272479994816')"><pre> Return a list of tuple pairs [(receiver, response), ... ].</pre></li>
1765
1766 <li onclick="toggle('pre140272479994816', 'post140272479994816')"><pre> """</pre></li>
1767
1768 <li onclick="toggle('pre140272479994816', 'post140272479994816')"><pre> if not self.receivers or self.sender_receivers_cache.get(sender) is NO_RECEIVERS:</pre></li>
1769
1770 <li onclick="toggle('pre140272479994816', 'post140272479994816')"><pre> return []</pre></li>
1771
1772 <li onclick="toggle('pre140272479994816', 'post140272479994816')"><pre></pre></li>
1773
1774 </ol>
1775
1776 <ol start="180" class="context-line">
1777 <li onclick="toggle('pre140272479994816', 'post140272479994816')"><pre> return [</pre> <span>…</span></li>
1778 </ol>
1779
1780 <ol start="181" class="post-context" id="post140272479994816" style="display: none;">
1781
1782 <li onclick="toggle('pre140272479994816', 'post140272479994816')"><pre> (receiver, receiver(signal=self, sender=sender, **named))</pre></li>
1783
1784 <li onclick="toggle('pre140272479994816', 'post140272479994816')"><pre> for receiver in self._live_receivers(sender)</pre></li>
1785
1786 <li onclick="toggle('pre140272479994816', 'post140272479994816')"><pre> ]</pre></li>
1787
1788 <li onclick="toggle('pre140272479994816', 'post140272479994816')"><pre></pre></li>
1789
1790 <li onclick="toggle('pre140272479994816', 'post140272479994816')"><pre> def send_robust(self, sender, **named):</pre></li>
1791
1792 <li onclick="toggle('pre140272479994816', 'post140272479994816')"><pre> """</pre></li>
1793
1794 </ol>
1795
1796 </div>
1797
1798
1799
1800 <div class="commands">
1801
1802 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479994816')"><span>▶</span> Local vars</a>
1803
1804 </div>
1805 <table class="vars" id="v140272479994816" style="display: none;">
1806 <thead>
1807 <tr>
1808 <th>Variable</th>
1809 <th>Value</th>
1810 </tr>
1811 </thead>
1812 <tbody>
1813
1814 <tr>
1815 <td>named</td>
1816 <td class="code"><pre>{'created': False,
1817 'instance': <PackagePayment: PackagePayment object (750679589504946)>,
1818 'raw': False,
1819 'update_fields': None,
1820 'using': 'default'}</pre></td>
1821 </tr>
1822
1823 <tr>
1824 <td>self</td>
1825 <td class="code"><pre><django.db.models.signals.ModelSignal object at 0x7f93c1104790></pre></td>
1826 </tr>
1827
1828 <tr>
1829 <td>sender</td>
1830 <td class="code"><pre><class 'manobhavana.apps.payment.models.PackagePayment'></pre></td>
1831 </tr>
1832
1833 </tbody>
1834 </table>
1835
1836 </li>
1837
1838
1839 <li class="frame django">
1840
1841 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/dispatch/dispatcher.py</code>, line 181, in <listcomp>
1842
1843
1844
1845 <div class="context" id="c140272479885056">
1846
1847 <ol start="174" class="pre-context" id="pre140272479885056" style="display: none;">
1848
1849 <li onclick="toggle('pre140272479885056', 'post140272479885056')"><pre></pre></li>
1850
1851 <li onclick="toggle('pre140272479885056', 'post140272479885056')"><pre> Return a list of tuple pairs [(receiver, response), ... ].</pre></li>
1852
1853 <li onclick="toggle('pre140272479885056', 'post140272479885056')"><pre> """</pre></li>
1854
1855 <li onclick="toggle('pre140272479885056', 'post140272479885056')"><pre> if not self.receivers or self.sender_receivers_cache.get(sender) is NO_RECEIVERS:</pre></li>
1856
1857 <li onclick="toggle('pre140272479885056', 'post140272479885056')"><pre> return []</pre></li>
1858
1859 <li onclick="toggle('pre140272479885056', 'post140272479885056')"><pre></pre></li>
1860
1861 <li onclick="toggle('pre140272479885056', 'post140272479885056')"><pre> return [</pre></li>
1862
1863 </ol>
1864
1865 <ol start="181" class="context-line">
1866 <li onclick="toggle('pre140272479885056', 'post140272479885056')"><pre> (receiver, receiver(signal=self, sender=sender, **named))</pre> <span>…</span></li>
1867 </ol>
1868
1869 <ol start="182" class="post-context" id="post140272479885056" style="display: none;">
1870
1871 <li onclick="toggle('pre140272479885056', 'post140272479885056')"><pre> for receiver in self._live_receivers(sender)</pre></li>
1872
1873 <li onclick="toggle('pre140272479885056', 'post140272479885056')"><pre> ]</pre></li>
1874
1875 <li onclick="toggle('pre140272479885056', 'post140272479885056')"><pre></pre></li>
1876
1877 <li onclick="toggle('pre140272479885056', 'post140272479885056')"><pre> def send_robust(self, sender, **named):</pre></li>
1878
1879 <li onclick="toggle('pre140272479885056', 'post140272479885056')"><pre> """</pre></li>
1880
1881 <li onclick="toggle('pre140272479885056', 'post140272479885056')"><pre> Send signal from sender to all connected receivers catching errors.</pre></li>
1882
1883 </ol>
1884
1885 </div>
1886
1887
1888
1889 <div class="commands">
1890
1891 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479885056')"><span>▶</span> Local vars</a>
1892
1893 </div>
1894 <table class="vars" id="v140272479885056" style="display: none;">
1895 <thead>
1896 <tr>
1897 <th>Variable</th>
1898 <th>Value</th>
1899 </tr>
1900 </thead>
1901 <tbody>
1902
1903 <tr>
1904 <td>.0</td>
1905 <td class="code"><pre><list_iterator object at 0x7f93bb59a430></pre></td>
1906 </tr>
1907
1908 <tr>
1909 <td>named</td>
1910 <td class="code"><pre>{'created': False,
1911 'instance': <PackagePayment: PackagePayment object (750679589504946)>,
1912 'raw': False,
1913 'update_fields': None,
1914 'using': 'default'}</pre></td>
1915 </tr>
1916
1917 <tr>
1918 <td>receiver</td>
1919 <td class="code"><pre><function assign_counsellor_success_payment at 0x7f93bc109310></pre></td>
1920 </tr>
1921
1922 <tr>
1923 <td>self</td>
1924 <td class="code"><pre><django.db.models.signals.ModelSignal object at 0x7f93c1104790></pre></td>
1925 </tr>
1926
1927 <tr>
1928 <td>sender</td>
1929 <td class="code"><pre><class 'manobhavana.apps.payment.models.PackagePayment'></pre></td>
1930 </tr>
1931
1932 </tbody>
1933 </table>
1934
1935 </li>
1936
1937
1938 <li class="frame user">
1939
1940 <code class="fname">/home/ubuntu/pdl_backend/manobhavana/apps/payment/signals.py</code>, line 108, in assign_counsellor_success_payment
1941
1942
1943
1944 <div class="context" id="c140272479997568">
1945
1946 <ol start="101" class="pre-context" id="pre140272479997568" style="display: none;">
1947
1948 <li onclick="toggle('pre140272479997568', 'post140272479997568')"><pre> counsellor=user_package.assign_counsellor)</pre></li>
1949
1950 <li onclick="toggle('pre140272479997568', 'post140272479997568')"><pre> counsellor_package.save()</pre></li>
1951
1952 <li onclick="toggle('pre140272479997568', 'post140272479997568')"><pre> c_counsellor = user_package.assign_counsellor.user</pre></li>
1953
1954 <li onclick="toggle('pre140272479997568', 'post140272479997568')"><pre> c_patient = user_package.patient.user</pre></li>
1955
1956 <li onclick="toggle('pre140272479997568', 'post140272479997568')"><pre></pre></li>
1957
1958 <li onclick="toggle('pre140272479997568', 'post140272479997568')"><pre> chat_contact = ChatContact(counsellor=c_counsellor, user_pkg=user_package,</pre></li>
1959
1960 <li onclick="toggle('pre140272479997568', 'post140272479997568')"><pre> main_patient=c_patient)</pre></li>
1961
1962 </ol>
1963
1964 <ol start="108" class="context-line">
1965 <li onclick="toggle('pre140272479997568', 'post140272479997568')"><pre> chat_contact.save()</pre> <span>…</span></li>
1966 </ol>
1967
1968 <ol start="109" class="post-context" id="post140272479997568" style="display: none;">
1969
1970 <li onclick="toggle('pre140272479997568', 'post140272479997568')"><pre> chat_contact.patients.add(c_patient)</pre></li>
1971
1972 <li onclick="toggle('pre140272479997568', 'post140272479997568')"><pre></pre></li>
1973
1974 <li onclick="toggle('pre140272479997568', 'post140272479997568')"><pre> if user_package.package.type_choice.filter(choice_name="chat").exists():</pre></li>
1975
1976 <li onclick="toggle('pre140272479997568', 'post140272479997568')"><pre> if user_package.package.category.name == "Group" or user_package.package.category.name == "Family":</pre></li>
1977
1978 <li onclick="toggle('pre140272479997568', 'post140272479997568')"><pre> chat = Chat(contact=chat_contact, expire=user_package.end_date, is_chat=True, is_group=True,</pre></li>
1979
1980 <li onclick="toggle('pre140272479997568', 'post140272479997568')"><pre> package_name=user_package.package.name, patient_age=chat_contact.main_patient.age,</pre></li>
1981
1982 </ol>
1983
1984 </div>
1985
1986
1987
1988 <div class="commands">
1989
1990 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479997568')"><span>▶</span> Local vars</a>
1991
1992 </div>
1993 <table class="vars" id="v140272479997568" style="display: none;">
1994 <thead>
1995 <tr>
1996 <th>Variable</th>
1997 <th>Value</th>
1998 </tr>
1999 </thead>
2000 <tbody>
2001
2002 <tr>
2003 <td>c_counsellor</td>
2004 <td class="code"><pre><User: +9779861888818></pre></td>
2005 </tr>
2006
2007 <tr>
2008 <td>c_patient</td>
2009 <td class="code"><pre><User: pdl@yopmail.com></pre></td>
2010 </tr>
2011
2012 <tr>
2013 <td>chat_contact</td>
2014 <td class="code"><pre><ChatContact: +9779861888818, No Patient></pre></td>
2015 </tr>
2016
2017 <tr>
2018 <td>counsellor</td>
2019 <td class="code"><pre><Counsellor: Santosh Rana></pre></td>
2020 </tr>
2021
2022 <tr>
2023 <td>counsellor_conf</td>
2024 <td class="code"><pre><CounsellorConf: Santosh Rana False></pre></td>
2025 </tr>
2026
2027 <tr>
2028 <td>counsellor_package</td>
2029 <td class="code"><pre><CounsellorPackage: New Test Package000 True></pre></td>
2030 </tr>
2031
2032 <tr>
2033 <td>created</td>
2034 <td class="code"><pre>False</pre></td>
2035 </tr>
2036
2037 <tr>
2038 <td>instance</td>
2039 <td class="code"><pre><PackagePayment: PackagePayment object (750679589504946)></pre></td>
2040 </tr>
2041
2042 <tr>
2043 <td>kwargs</td>
2044 <td class="code"><pre>{'raw': False,
2045 'signal': <django.db.models.signals.ModelSignal object at 0x7f93c1104790>,
2046 'update_fields': None,
2047 'using': 'default'}</pre></td>
2048 </tr>
2049
2050 <tr>
2051 <td>provided_counsellor</td>
2052 <td class="code"><pre><Counsellor: Santosh Rana></pre></td>
2053 </tr>
2054
2055 <tr>
2056 <td>sender</td>
2057 <td class="code"><pre><class 'manobhavana.apps.payment.models.PackagePayment'></pre></td>
2058 </tr>
2059
2060 <tr>
2061 <td>user_package</td>
2062 <td class="code"><pre><UserPackage: New Test Package000 Dipesh Koirala></pre></td>
2063 </tr>
2064
2065 </tbody>
2066 </table>
2067
2068 </li>
2069
2070
2071 <li class="frame user">
2072
2073 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/safedelete/models.py</code>, line 98, in save
2074
2075
2076
2077 <div class="context" id="c140272479996224">
2078
2079 <ol start="91" class="pre-context" id="pre140272479996224" style="display: none;">
2080
2081 <li onclick="toggle('pre140272479996224', 'post140272479996224')"><pre></pre></li>
2082
2083 <li onclick="toggle('pre140272479996224', 'post140272479996224')"><pre> was_undeleted = False</pre></li>
2084
2085 <li onclick="toggle('pre140272479996224', 'post140272479996224')"><pre> if not keep_deleted:</pre></li>
2086
2087 <li onclick="toggle('pre140272479996224', 'post140272479996224')"><pre> if self.deleted and self.pk:</pre></li>
2088
2089 <li onclick="toggle('pre140272479996224', 'post140272479996224')"><pre> was_undeleted = True</pre></li>
2090
2091 <li onclick="toggle('pre140272479996224', 'post140272479996224')"><pre> self.deleted = None</pre></li>
2092
2093 <li onclick="toggle('pre140272479996224', 'post140272479996224')"><pre></pre></li>
2094
2095 </ol>
2096
2097 <ol start="98" class="context-line">
2098 <li onclick="toggle('pre140272479996224', 'post140272479996224')"><pre> super(SafeDeleteModel, self).save(**kwargs)</pre> <span>…</span></li>
2099 </ol>
2100
2101 <ol start="99" class="post-context" id="post140272479996224" style="display: none;">
2102
2103 <li onclick="toggle('pre140272479996224', 'post140272479996224')"><pre></pre></li>
2104
2105 <li onclick="toggle('pre140272479996224', 'post140272479996224')"><pre> if was_undeleted:</pre></li>
2106
2107 <li onclick="toggle('pre140272479996224', 'post140272479996224')"><pre> # send undelete signal</pre></li>
2108
2109 <li onclick="toggle('pre140272479996224', 'post140272479996224')"><pre> using = kwargs.get('using') or router.db_for_write(self.__class__, instance=self)</pre></li>
2110
2111 <li onclick="toggle('pre140272479996224', 'post140272479996224')"><pre> post_undelete.send(sender=self.__class__, instance=self, using=using)</pre></li>
2112
2113 <li onclick="toggle('pre140272479996224', 'post140272479996224')"><pre></pre></li>
2114
2115 </ol>
2116
2117 </div>
2118
2119
2120
2121 <div class="commands">
2122
2123 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479996224')"><span>▶</span> Local vars</a>
2124
2125 </div>
2126 <table class="vars" id="v140272479996224" style="display: none;">
2127 <thead>
2128 <tr>
2129 <th>Variable</th>
2130 <th>Value</th>
2131 </tr>
2132 </thead>
2133 <tbody>
2134
2135 <tr>
2136 <td>__class__</td>
2137 <td class="code"><pre><class 'safedelete.models.SafeDeleteModel'></pre></td>
2138 </tr>
2139
2140 <tr>
2141 <td>keep_deleted</td>
2142 <td class="code"><pre>False</pre></td>
2143 </tr>
2144
2145 <tr>
2146 <td>kwargs</td>
2147 <td class="code"><pre>{}</pre></td>
2148 </tr>
2149
2150 <tr>
2151 <td>self</td>
2152 <td class="code"><pre><ChatContact: +9779861888818, No Patient></pre></td>
2153 </tr>
2154
2155 <tr>
2156 <td>was_undeleted</td>
2157 <td class="code"><pre>False</pre></td>
2158 </tr>
2159
2160 </tbody>
2161 </table>
2162
2163 </li>
2164
2165
2166 <li class="frame django">
2167
2168 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/models/base.py</code>, line 726, in save
2169
2170
2171
2172 <div class="context" id="c140272479995072">
2173
2174 <ol start="719" class="pre-context" id="pre140272479995072" style="display: none;">
2175
2176 <li onclick="toggle('pre140272479995072', 'post140272479995072')"><pre> for field in self._meta.concrete_fields:</pre></li>
2177
2178 <li onclick="toggle('pre140272479995072', 'post140272479995072')"><pre> if not field.primary_key and not hasattr(field, 'through'):</pre></li>
2179
2180 <li onclick="toggle('pre140272479995072', 'post140272479995072')"><pre> field_names.add(field.attname)</pre></li>
2181
2182 <li onclick="toggle('pre140272479995072', 'post140272479995072')"><pre> loaded_fields = field_names.difference(deferred_fields)</pre></li>
2183
2184 <li onclick="toggle('pre140272479995072', 'post140272479995072')"><pre> if loaded_fields:</pre></li>
2185
2186 <li onclick="toggle('pre140272479995072', 'post140272479995072')"><pre> update_fields = frozenset(loaded_fields)</pre></li>
2187
2188 <li onclick="toggle('pre140272479995072', 'post140272479995072')"><pre></pre></li>
2189
2190 </ol>
2191
2192 <ol start="726" class="context-line">
2193 <li onclick="toggle('pre140272479995072', 'post140272479995072')"><pre> self.save_base(using=using, force_insert=force_insert,</pre> <span>…</span></li>
2194 </ol>
2195
2196 <ol start="727" class="post-context" id="post140272479995072" style="display: none;">
2197
2198 <li onclick="toggle('pre140272479995072', 'post140272479995072')"><pre> force_update=force_update, update_fields=update_fields)</pre></li>
2199
2200 <li onclick="toggle('pre140272479995072', 'post140272479995072')"><pre> save.alters_data = True</pre></li>
2201
2202 <li onclick="toggle('pre140272479995072', 'post140272479995072')"><pre></pre></li>
2203
2204 <li onclick="toggle('pre140272479995072', 'post140272479995072')"><pre> def save_base(self, raw=False, force_insert=False,</pre></li>
2205
2206 <li onclick="toggle('pre140272479995072', 'post140272479995072')"><pre> force_update=False, using=None, update_fields=None):</pre></li>
2207
2208 <li onclick="toggle('pre140272479995072', 'post140272479995072')"><pre> """</pre></li>
2209
2210 </ol>
2211
2212 </div>
2213
2214
2215
2216 <div class="commands">
2217
2218 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479995072')"><span>▶</span> Local vars</a>
2219
2220 </div>
2221 <table class="vars" id="v140272479995072" style="display: none;">
2222 <thead>
2223 <tr>
2224 <th>Variable</th>
2225 <th>Value</th>
2226 </tr>
2227 </thead>
2228 <tbody>
2229
2230 <tr>
2231 <td>deferred_fields</td>
2232 <td class="code"><pre>set()</pre></td>
2233 </tr>
2234
2235 <tr>
2236 <td>force_insert</td>
2237 <td class="code"><pre>False</pre></td>
2238 </tr>
2239
2240 <tr>
2241 <td>force_update</td>
2242 <td class="code"><pre>False</pre></td>
2243 </tr>
2244
2245 <tr>
2246 <td>self</td>
2247 <td class="code"><pre><ChatContact: +9779861888818, No Patient></pre></td>
2248 </tr>
2249
2250 <tr>
2251 <td>update_fields</td>
2252 <td class="code"><pre>None</pre></td>
2253 </tr>
2254
2255 <tr>
2256 <td>using</td>
2257 <td class="code"><pre>'default'</pre></td>
2258 </tr>
2259
2260 </tbody>
2261 </table>
2262
2263 </li>
2264
2265
2266 <li class="frame django">
2267
2268 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/models/base.py</code>, line 763, in save_base
2269
2270
2271
2272 <div class="context" id="c140272479994624">
2273
2274 <ol start="756" class="pre-context" id="pre140272479994624" style="display: none;">
2275
2276 <li onclick="toggle('pre140272479994624', 'post140272479994624')"><pre> context_manager = transaction.atomic(using=using, savepoint=False)</pre></li>
2277
2278 <li onclick="toggle('pre140272479994624', 'post140272479994624')"><pre> else:</pre></li>
2279
2280 <li onclick="toggle('pre140272479994624', 'post140272479994624')"><pre> context_manager = transaction.mark_for_rollback_on_error(using=using)</pre></li>
2281
2282 <li onclick="toggle('pre140272479994624', 'post140272479994624')"><pre> with context_manager:</pre></li>
2283
2284 <li onclick="toggle('pre140272479994624', 'post140272479994624')"><pre> parent_inserted = False</pre></li>
2285
2286 <li onclick="toggle('pre140272479994624', 'post140272479994624')"><pre> if not raw:</pre></li>
2287
2288 <li onclick="toggle('pre140272479994624', 'post140272479994624')"><pre> parent_inserted = self._save_parents(cls, using, update_fields)</pre></li>
2289
2290 </ol>
2291
2292 <ol start="763" class="context-line">
2293 <li onclick="toggle('pre140272479994624', 'post140272479994624')"><pre> updated = self._save_table(</pre> <span>…</span></li>
2294 </ol>
2295
2296 <ol start="764" class="post-context" id="post140272479994624" style="display: none;">
2297
2298 <li onclick="toggle('pre140272479994624', 'post140272479994624')"><pre> raw, cls, force_insert or parent_inserted,</pre></li>
2299
2300 <li onclick="toggle('pre140272479994624', 'post140272479994624')"><pre> force_update, using, update_fields,</pre></li>
2301
2302 <li onclick="toggle('pre140272479994624', 'post140272479994624')"><pre> )</pre></li>
2303
2304 <li onclick="toggle('pre140272479994624', 'post140272479994624')"><pre> # Store the database on which the object was saved</pre></li>
2305
2306 <li onclick="toggle('pre140272479994624', 'post140272479994624')"><pre> self._state.db = using</pre></li>
2307
2308 <li onclick="toggle('pre140272479994624', 'post140272479994624')"><pre> # Once saved, this is no longer a to-be-added instance.</pre></li>
2309
2310 </ol>
2311
2312 </div>
2313
2314
2315
2316 <div class="commands">
2317
2318 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479994624')"><span>▶</span> Local vars</a>
2319
2320 </div>
2321 <table class="vars" id="v140272479994624" style="display: none;">
2322 <thead>
2323 <tr>
2324 <th>Variable</th>
2325 <th>Value</th>
2326 </tr>
2327 </thead>
2328 <tbody>
2329
2330 <tr>
2331 <td>cls</td>
2332 <td class="code"><pre><class 'manobhavana.apps.chat.models.ChatContact'></pre></td>
2333 </tr>
2334
2335 <tr>
2336 <td>context_manager</td>
2337 <td class="code"><pre><contextlib._GeneratorContextManager object at 0x7f93bb5a0fd0></pre></td>
2338 </tr>
2339
2340 <tr>
2341 <td>force_insert</td>
2342 <td class="code"><pre>False</pre></td>
2343 </tr>
2344
2345 <tr>
2346 <td>force_update</td>
2347 <td class="code"><pre>False</pre></td>
2348 </tr>
2349
2350 <tr>
2351 <td>meta</td>
2352 <td class="code"><pre><Options for ChatContact></pre></td>
2353 </tr>
2354
2355 <tr>
2356 <td>origin</td>
2357 <td class="code"><pre><class 'manobhavana.apps.chat.models.ChatContact'></pre></td>
2358 </tr>
2359
2360 <tr>
2361 <td>parent_inserted</td>
2362 <td class="code"><pre>False</pre></td>
2363 </tr>
2364
2365 <tr>
2366 <td>raw</td>
2367 <td class="code"><pre>False</pre></td>
2368 </tr>
2369
2370 <tr>
2371 <td>self</td>
2372 <td class="code"><pre><ChatContact: +9779861888818, No Patient></pre></td>
2373 </tr>
2374
2375 <tr>
2376 <td>update_fields</td>
2377 <td class="code"><pre>None</pre></td>
2378 </tr>
2379
2380 <tr>
2381 <td>using</td>
2382 <td class="code"><pre>'default'</pre></td>
2383 </tr>
2384
2385 </tbody>
2386 </table>
2387
2388 </li>
2389
2390
2391 <li class="frame django">
2392
2393 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/models/base.py</code>, line 868, in _save_table
2394
2395
2396
2397 <div class="context" id="c140272479994496">
2398
2399 <ol start="861" class="pre-context" id="pre140272479994496" style="display: none;">
2400
2401 <li onclick="toggle('pre140272479994496', 'post140272479994496')"><pre> ),</pre></li>
2402
2403 <li onclick="toggle('pre140272479994496', 'post140272479994496')"><pre> )['_order__max']</pre></li>
2404
2405 <li onclick="toggle('pre140272479994496', 'post140272479994496')"><pre> fields = meta.local_concrete_fields</pre></li>
2406
2407 <li onclick="toggle('pre140272479994496', 'post140272479994496')"><pre> if not pk_set:</pre></li>
2408
2409 <li onclick="toggle('pre140272479994496', 'post140272479994496')"><pre> fields = [f for f in fields if f is not meta.auto_field]</pre></li>
2410
2411 <li onclick="toggle('pre140272479994496', 'post140272479994496')"><pre></pre></li>
2412
2413 <li onclick="toggle('pre140272479994496', 'post140272479994496')"><pre> returning_fields = meta.db_returning_fields</pre></li>
2414
2415 </ol>
2416
2417 <ol start="868" class="context-line">
2418 <li onclick="toggle('pre140272479994496', 'post140272479994496')"><pre> results = self._do_insert(cls._base_manager, using, fields, returning_fields, raw)</pre> <span>…</span></li>
2419 </ol>
2420
2421 <ol start="869" class="post-context" id="post140272479994496" style="display: none;">
2422
2423 <li onclick="toggle('pre140272479994496', 'post140272479994496')"><pre> if results:</pre></li>
2424
2425 <li onclick="toggle('pre140272479994496', 'post140272479994496')"><pre> for value, field in zip(results[0], returning_fields):</pre></li>
2426
2427 <li onclick="toggle('pre140272479994496', 'post140272479994496')"><pre> setattr(self, field.attname, value)</pre></li>
2428
2429 <li onclick="toggle('pre140272479994496', 'post140272479994496')"><pre> return updated</pre></li>
2430
2431 <li onclick="toggle('pre140272479994496', 'post140272479994496')"><pre></pre></li>
2432
2433 <li onclick="toggle('pre140272479994496', 'post140272479994496')"><pre> def _do_update(self, base_qs, using, pk_val, values, update_fields, forced_update):</pre></li>
2434
2435 </ol>
2436
2437 </div>
2438
2439
2440
2441 <div class="commands">
2442
2443 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479994496')"><span>▶</span> Local vars</a>
2444
2445 </div>
2446 <table class="vars" id="v140272479994496" style="display: none;">
2447 <thead>
2448 <tr>
2449 <th>Variable</th>
2450 <th>Value</th>
2451 </tr>
2452 </thead>
2453 <tbody>
2454
2455 <tr>
2456 <td>cls</td>
2457 <td class="code"><pre><class 'manobhavana.apps.chat.models.ChatContact'></pre></td>
2458 </tr>
2459
2460 <tr>
2461 <td>fields</td>
2462 <td class="code"><pre>(<django.db.models.fields.DateTimeField: deleted>,
2463 <django.db.models.fields.PositiveBigIntegerField: id>,
2464 <django.db.models.fields.DateTimeField: created>,
2465 <django.db.models.fields.DateTimeField: updated>,
2466 <django.db.models.fields.related.OneToOneField: user_pkg>,
2467 <django.db.models.fields.related.ForeignKey: counsellor>,
2468 <django.db.models.fields.related.ForeignKey: main_patient>)</pre></td>
2469 </tr>
2470
2471 <tr>
2472 <td>force_insert</td>
2473 <td class="code"><pre>True</pre></td>
2474 </tr>
2475
2476 <tr>
2477 <td>force_update</td>
2478 <td class="code"><pre>False</pre></td>
2479 </tr>
2480
2481 <tr>
2482 <td>meta</td>
2483 <td class="code"><pre><Options for ChatContact></pre></td>
2484 </tr>
2485
2486 <tr>
2487 <td>non_pks</td>
2488 <td class="code"><pre>[<django.db.models.fields.DateTimeField: deleted>,
2489 <django.db.models.fields.DateTimeField: created>,
2490 <django.db.models.fields.DateTimeField: updated>,
2491 <django.db.models.fields.related.OneToOneField: user_pkg>,
2492 <django.db.models.fields.related.ForeignKey: counsellor>,
2493 <django.db.models.fields.related.ForeignKey: main_patient>]</pre></td>
2494 </tr>
2495
2496 <tr>
2497 <td>pk_set</td>
2498 <td class="code"><pre>True</pre></td>
2499 </tr>
2500
2501 <tr>
2502 <td>pk_val</td>
2503 <td class="code"><pre>291289543104124</pre></td>
2504 </tr>
2505
2506 <tr>
2507 <td>raw</td>
2508 <td class="code"><pre>False</pre></td>
2509 </tr>
2510
2511 <tr>
2512 <td>returning_fields</td>
2513 <td class="code"><pre>[]</pre></td>
2514 </tr>
2515
2516 <tr>
2517 <td>self</td>
2518 <td class="code"><pre><ChatContact: +9779861888818, No Patient></pre></td>
2519 </tr>
2520
2521 <tr>
2522 <td>update_fields</td>
2523 <td class="code"><pre>None</pre></td>
2524 </tr>
2525
2526 <tr>
2527 <td>updated</td>
2528 <td class="code"><pre>False</pre></td>
2529 </tr>
2530
2531 <tr>
2532 <td>using</td>
2533 <td class="code"><pre>'default'</pre></td>
2534 </tr>
2535
2536 </tbody>
2537 </table>
2538
2539 </li>
2540
2541
2542 <li class="frame django">
2543
2544 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/models/base.py</code>, line 906, in _do_insert
2545
2546
2547
2548 <div class="context" id="c140272479997696">
2549
2550 <ol start="899" class="pre-context" id="pre140272479997696" style="display: none;">
2551
2552 <li onclick="toggle('pre140272479997696', 'post140272479997696')"><pre> return filtered._update(values) > 0</pre></li>
2553
2554 <li onclick="toggle('pre140272479997696', 'post140272479997696')"><pre></pre></li>
2555
2556 <li onclick="toggle('pre140272479997696', 'post140272479997696')"><pre> def _do_insert(self, manager, using, fields, returning_fields, raw):</pre></li>
2557
2558 <li onclick="toggle('pre140272479997696', 'post140272479997696')"><pre> """</pre></li>
2559
2560 <li onclick="toggle('pre140272479997696', 'post140272479997696')"><pre> Do an INSERT. If returning_fields is defined then this method should</pre></li>
2561
2562 <li onclick="toggle('pre140272479997696', 'post140272479997696')"><pre> return the newly created data for the model.</pre></li>
2563
2564 <li onclick="toggle('pre140272479997696', 'post140272479997696')"><pre> """</pre></li>
2565
2566 </ol>
2567
2568 <ol start="906" class="context-line">
2569 <li onclick="toggle('pre140272479997696', 'post140272479997696')"><pre> return manager._insert(</pre> <span>…</span></li>
2570 </ol>
2571
2572 <ol start="907" class="post-context" id="post140272479997696" style="display: none;">
2573
2574 <li onclick="toggle('pre140272479997696', 'post140272479997696')"><pre> [self], fields=fields, returning_fields=returning_fields,</pre></li>
2575
2576 <li onclick="toggle('pre140272479997696', 'post140272479997696')"><pre> using=using, raw=raw,</pre></li>
2577
2578 <li onclick="toggle('pre140272479997696', 'post140272479997696')"><pre> )</pre></li>
2579
2580 <li onclick="toggle('pre140272479997696', 'post140272479997696')"><pre></pre></li>
2581
2582 <li onclick="toggle('pre140272479997696', 'post140272479997696')"><pre> def _prepare_related_fields_for_save(self, operation_name):</pre></li>
2583
2584 <li onclick="toggle('pre140272479997696', 'post140272479997696')"><pre> # Ensure that a model instance without a PK hasn't been assigned to</pre></li>
2585
2586 </ol>
2587
2588 </div>
2589
2590
2591
2592 <div class="commands">
2593
2594 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479997696')"><span>▶</span> Local vars</a>
2595
2596 </div>
2597 <table class="vars" id="v140272479997696" style="display: none;">
2598 <thead>
2599 <tr>
2600 <th>Variable</th>
2601 <th>Value</th>
2602 </tr>
2603 </thead>
2604 <tbody>
2605
2606 <tr>
2607 <td>fields</td>
2608 <td class="code"><pre>(<django.db.models.fields.DateTimeField: deleted>,
2609 <django.db.models.fields.PositiveBigIntegerField: id>,
2610 <django.db.models.fields.DateTimeField: created>,
2611 <django.db.models.fields.DateTimeField: updated>,
2612 <django.db.models.fields.related.OneToOneField: user_pkg>,
2613 <django.db.models.fields.related.ForeignKey: counsellor>,
2614 <django.db.models.fields.related.ForeignKey: main_patient>)</pre></td>
2615 </tr>
2616
2617 <tr>
2618 <td>manager</td>
2619 <td class="code"><pre><django.db.models.manager.Manager object at 0x7f93bb660250></pre></td>
2620 </tr>
2621
2622 <tr>
2623 <td>raw</td>
2624 <td class="code"><pre>False</pre></td>
2625 </tr>
2626
2627 <tr>
2628 <td>returning_fields</td>
2629 <td class="code"><pre>[]</pre></td>
2630 </tr>
2631
2632 <tr>
2633 <td>self</td>
2634 <td class="code"><pre><ChatContact: +9779861888818, No Patient></pre></td>
2635 </tr>
2636
2637 <tr>
2638 <td>using</td>
2639 <td class="code"><pre>'default'</pre></td>
2640 </tr>
2641
2642 </tbody>
2643 </table>
2644
2645 </li>
2646
2647
2648 <li class="frame django">
2649
2650 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/models/manager.py</code>, line 85, in manager_method
2651
2652
2653
2654 <div class="context" id="c140272479995584">
2655
2656 <ol start="78" class="pre-context" id="pre140272479995584" style="display: none;">
2657
2658 <li onclick="toggle('pre140272479995584', 'post140272479995584')"><pre> def check(self, **kwargs):</pre></li>
2659
2660 <li onclick="toggle('pre140272479995584', 'post140272479995584')"><pre> return []</pre></li>
2661
2662 <li onclick="toggle('pre140272479995584', 'post140272479995584')"><pre></pre></li>
2663
2664 <li onclick="toggle('pre140272479995584', 'post140272479995584')"><pre> @classmethod</pre></li>
2665
2666 <li onclick="toggle('pre140272479995584', 'post140272479995584')"><pre> def _get_queryset_methods(cls, queryset_class):</pre></li>
2667
2668 <li onclick="toggle('pre140272479995584', 'post140272479995584')"><pre> def create_method(name, method):</pre></li>
2669
2670 <li onclick="toggle('pre140272479995584', 'post140272479995584')"><pre> def manager_method(self, *args, **kwargs):</pre></li>
2671
2672 </ol>
2673
2674 <ol start="85" class="context-line">
2675 <li onclick="toggle('pre140272479995584', 'post140272479995584')"><pre> return getattr(self.get_queryset(), name)(*args, **kwargs)</pre> <span>…</span></li>
2676 </ol>
2677
2678 <ol start="86" class="post-context" id="post140272479995584" style="display: none;">
2679
2680 <li onclick="toggle('pre140272479995584', 'post140272479995584')"><pre> manager_method.__name__ = method.__name__</pre></li>
2681
2682 <li onclick="toggle('pre140272479995584', 'post140272479995584')"><pre> manager_method.__doc__ = method.__doc__</pre></li>
2683
2684 <li onclick="toggle('pre140272479995584', 'post140272479995584')"><pre> return manager_method</pre></li>
2685
2686 <li onclick="toggle('pre140272479995584', 'post140272479995584')"><pre></pre></li>
2687
2688 <li onclick="toggle('pre140272479995584', 'post140272479995584')"><pre> new_methods = {}</pre></li>
2689
2690 <li onclick="toggle('pre140272479995584', 'post140272479995584')"><pre> for name, method in inspect.getmembers(queryset_class, predicate=inspect.isfunction):</pre></li>
2691
2692 </ol>
2693
2694 </div>
2695
2696
2697
2698 <div class="commands">
2699
2700 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479995584')"><span>▶</span> Local vars</a>
2701
2702 </div>
2703 <table class="vars" id="v140272479995584" style="display: none;">
2704 <thead>
2705 <tr>
2706 <th>Variable</th>
2707 <th>Value</th>
2708 </tr>
2709 </thead>
2710 <tbody>
2711
2712 <tr>
2713 <td>args</td>
2714 <td class="code"><pre>([<ChatContact: +9779861888818, No Patient>],)</pre></td>
2715 </tr>
2716
2717 <tr>
2718 <td>kwargs</td>
2719 <td class="code"><pre>{'fields': (<django.db.models.fields.DateTimeField: deleted>,
2720 <django.db.models.fields.PositiveBigIntegerField: id>,
2721 <django.db.models.fields.DateTimeField: created>,
2722 <django.db.models.fields.DateTimeField: updated>,
2723 <django.db.models.fields.related.OneToOneField: user_pkg>,
2724 <django.db.models.fields.related.ForeignKey: counsellor>,
2725 <django.db.models.fields.related.ForeignKey: main_patient>),
2726 'raw': False,
2727 'returning_fields': [],
2728 'using': 'default'}</pre></td>
2729 </tr>
2730
2731 <tr>
2732 <td>name</td>
2733 <td class="code"><pre>'_insert'</pre></td>
2734 </tr>
2735
2736 <tr>
2737 <td>self</td>
2738 <td class="code"><pre><django.db.models.manager.Manager object at 0x7f93bb660250></pre></td>
2739 </tr>
2740
2741 </tbody>
2742 </table>
2743
2744 </li>
2745
2746
2747 <li class="frame django">
2748
2749 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/models/query.py</code>, line 1270, in _insert
2750
2751
2752
2753 <div class="context" id="c140272479788480">
2754
2755 <ol start="1263" class="pre-context" id="pre140272479788480" style="display: none;">
2756
2757 <li onclick="toggle('pre140272479788480', 'post140272479788480')"><pre> the InsertQuery class and is how Model.save() is implemented.</pre></li>
2758
2759 <li onclick="toggle('pre140272479788480', 'post140272479788480')"><pre> """</pre></li>
2760
2761 <li onclick="toggle('pre140272479788480', 'post140272479788480')"><pre> self._for_write = True</pre></li>
2762
2763 <li onclick="toggle('pre140272479788480', 'post140272479788480')"><pre> if using is None:</pre></li>
2764
2765 <li onclick="toggle('pre140272479788480', 'post140272479788480')"><pre> using = self.db</pre></li>
2766
2767 <li onclick="toggle('pre140272479788480', 'post140272479788480')"><pre> query = sql.InsertQuery(self.model, ignore_conflicts=ignore_conflicts)</pre></li>
2768
2769 <li onclick="toggle('pre140272479788480', 'post140272479788480')"><pre> query.insert_values(fields, objs, raw=raw)</pre></li>
2770
2771 </ol>
2772
2773 <ol start="1270" class="context-line">
2774 <li onclick="toggle('pre140272479788480', 'post140272479788480')"><pre> return query.get_compiler(using=using).execute_sql(returning_fields)</pre> <span>…</span></li>
2775 </ol>
2776
2777 <ol start="1271" class="post-context" id="post140272479788480" style="display: none;">
2778
2779 <li onclick="toggle('pre140272479788480', 'post140272479788480')"><pre> _insert.alters_data = True</pre></li>
2780
2781 <li onclick="toggle('pre140272479788480', 'post140272479788480')"><pre> _insert.queryset_only = False</pre></li>
2782
2783 <li onclick="toggle('pre140272479788480', 'post140272479788480')"><pre></pre></li>
2784
2785 <li onclick="toggle('pre140272479788480', 'post140272479788480')"><pre> def _batched_insert(self, objs, fields, batch_size, ignore_conflicts=False):</pre></li>
2786
2787 <li onclick="toggle('pre140272479788480', 'post140272479788480')"><pre> """</pre></li>
2788
2789 <li onclick="toggle('pre140272479788480', 'post140272479788480')"><pre> Helper method for bulk_create() to insert objs one batch at a time.</pre></li>
2790
2791 </ol>
2792
2793 </div>
2794
2795
2796
2797 <div class="commands">
2798
2799 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479788480')"><span>▶</span> Local vars</a>
2800
2801 </div>
2802 <table class="vars" id="v140272479788480" style="display: none;">
2803 <thead>
2804 <tr>
2805 <th>Variable</th>
2806 <th>Value</th>
2807 </tr>
2808 </thead>
2809 <tbody>
2810
2811 <tr>
2812 <td>fields</td>
2813 <td class="code"><pre>(<django.db.models.fields.DateTimeField: deleted>,
2814 <django.db.models.fields.PositiveBigIntegerField: id>,
2815 <django.db.models.fields.DateTimeField: created>,
2816 <django.db.models.fields.DateTimeField: updated>,
2817 <django.db.models.fields.related.OneToOneField: user_pkg>,
2818 <django.db.models.fields.related.ForeignKey: counsellor>,
2819 <django.db.models.fields.related.ForeignKey: main_patient>)</pre></td>
2820 </tr>
2821
2822 <tr>
2823 <td>ignore_conflicts</td>
2824 <td class="code"><pre>False</pre></td>
2825 </tr>
2826
2827 <tr>
2828 <td>objs</td>
2829 <td class="code"><pre>[<ChatContact: +9779861888818, No Patient>]</pre></td>
2830 </tr>
2831
2832 <tr>
2833 <td>query</td>
2834 <td class="code"><pre><django.db.models.sql.subqueries.InsertQuery object at 0x7f93bb592a00></pre></td>
2835 </tr>
2836
2837 <tr>
2838 <td>raw</td>
2839 <td class="code"><pre>False</pre></td>
2840 </tr>
2841
2842 <tr>
2843 <td>returning_fields</td>
2844 <td class="code"><pre>[]</pre></td>
2845 </tr>
2846
2847 <tr>
2848 <td>self</td>
2849 <td class="code"><pre><QuerySet [<ChatContact: +9779861888818, +9779861554511>, <ChatContact: +9779861888818, +9779861888814>, <ChatContact: +9779861888818, +9779860903961>, <ChatContact: +9779861888818, +9779886537396>, <ChatContact: +9779861888818, +9779840063952>, <ChatContact: +9779861888818, +9779861889898>, <ChatContact: +9779861888818, pdl@yopmail.com>, <ChatContact: +9779861888818, xyz@yopmail.com>, <ChatContact: +9779861888818, +9779862675500>, <ChatContact: +9779861888818, sundeepp29@gmail.com>, <ChatContact: +9779861888818, +9779817476837>, <ChatContact: +9779861888818, +9779868338755>, <ChatContact: +9779861888818, +9779861888814>, <ChatContact: +9779861888818, +9779861888814>, <ChatContact: +9779861888818, +9779861888814>, <ChatContact: +9779861888818, pdl@yopmail.com>, <ChatContact: +9779861888818, pdl@yopmail.com>, <ChatContact: +9779861888818, pdl@yopmail.com>, <ChatContact: +9779861888818, pdl@yopmail.com>]></pre></td>
2850 </tr>
2851
2852 <tr>
2853 <td>using</td>
2854 <td class="code"><pre>'default'</pre></td>
2855 </tr>
2856
2857 </tbody>
2858 </table>
2859
2860 </li>
2861
2862
2863 <li class="frame django">
2864
2865 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/models/sql/compiler.py</code>, line 1416, in execute_sql
2866
2867
2868
2869 <div class="context" id="c140272479995520">
2870
2871 <ol start="1409" class="pre-context" id="pre140272479995520" style="display: none;">
2872
2873 <li onclick="toggle('pre140272479995520', 'post140272479995520')"><pre> assert not (</pre></li>
2874
2875 <li onclick="toggle('pre140272479995520', 'post140272479995520')"><pre> returning_fields and len(self.query.objs) != 1 and</pre></li>
2876
2877 <li onclick="toggle('pre140272479995520', 'post140272479995520')"><pre> not self.connection.features.can_return_rows_from_bulk_insert</pre></li>
2878
2879 <li onclick="toggle('pre140272479995520', 'post140272479995520')"><pre> )</pre></li>
2880
2881 <li onclick="toggle('pre140272479995520', 'post140272479995520')"><pre> self.returning_fields = returning_fields</pre></li>
2882
2883 <li onclick="toggle('pre140272479995520', 'post140272479995520')"><pre> with self.connection.cursor() as cursor:</pre></li>
2884
2885 <li onclick="toggle('pre140272479995520', 'post140272479995520')"><pre> for sql, params in self.as_sql():</pre></li>
2886
2887 </ol>
2888
2889 <ol start="1416" class="context-line">
2890 <li onclick="toggle('pre140272479995520', 'post140272479995520')"><pre> cursor.execute(sql, params)</pre> <span>…</span></li>
2891 </ol>
2892
2893 <ol start="1417" class="post-context" id="post140272479995520" style="display: none;">
2894
2895 <li onclick="toggle('pre140272479995520', 'post140272479995520')"><pre> if not self.returning_fields:</pre></li>
2896
2897 <li onclick="toggle('pre140272479995520', 'post140272479995520')"><pre> return []</pre></li>
2898
2899 <li onclick="toggle('pre140272479995520', 'post140272479995520')"><pre> if self.connection.features.can_return_rows_from_bulk_insert and len(self.query.objs) > 1:</pre></li>
2900
2901 <li onclick="toggle('pre140272479995520', 'post140272479995520')"><pre> return self.connection.ops.fetch_returned_insert_rows(cursor)</pre></li>
2902
2903 <li onclick="toggle('pre140272479995520', 'post140272479995520')"><pre> if self.connection.features.can_return_columns_from_insert:</pre></li>
2904
2905 <li onclick="toggle('pre140272479995520', 'post140272479995520')"><pre> assert len(self.query.objs) == 1</pre></li>
2906
2907 </ol>
2908
2909 </div>
2910
2911
2912
2913 <div class="commands">
2914
2915 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479995520')"><span>▶</span> Local vars</a>
2916
2917 </div>
2918 <table class="vars" id="v140272479995520" style="display: none;">
2919 <thead>
2920 <tr>
2921 <th>Variable</th>
2922 <th>Value</th>
2923 </tr>
2924 </thead>
2925 <tbody>
2926
2927 <tr>
2928 <td>cursor</td>
2929 <td class="code"><pre><django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f93bb592e20></pre></td>
2930 </tr>
2931
2932 <tr>
2933 <td>params</td>
2934 <td class="code"><pre>(None,
2935 291289543104124,
2936 datetime.datetime(2021, 9, 2, 17, 42, 45, 552211, tzinfo=<UTC>),
2937 datetime.datetime(2021, 9, 2, 17, 42, 45, 552656, tzinfo=<UTC>),
2938 773641888890319,
2939 535049470519500,
2940 830273735610738)</pre></td>
2941 </tr>
2942
2943 <tr>
2944 <td>returning_fields</td>
2945 <td class="code"><pre>[]</pre></td>
2946 </tr>
2947
2948 <tr>
2949 <td>self</td>
2950 <td class="code"><pre><django.db.models.sql.compiler.SQLInsertCompiler object at 0x7f93bb592370></pre></td>
2951 </tr>
2952
2953 <tr>
2954 <td>sql</td>
2955 <td class="code"><pre>('INSERT INTO "chat_contact" ("deleted", "id", "created", "updated", '
2956 '"user_pkg_id", "counsellor_id", "main_patient_id") VALUES (%s, %s, %s, %s, '
2957 '%s, %s, %s)')</pre></td>
2958 </tr>
2959
2960 </tbody>
2961 </table>
2962
2963 </li>
2964
2965
2966 <li class="frame django">
2967
2968 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/backends/utils.py</code>, line 98, in execute
2969
2970
2971
2972 <div class="context" id="c140272479787136">
2973
2974 <ol start="91" class="pre-context" id="pre140272479787136" style="display: none;">
2975
2976 <li onclick="toggle('pre140272479787136', 'post140272479787136')"><pre></pre></li>
2977
2978 <li onclick="toggle('pre140272479787136', 'post140272479787136')"><pre>class CursorDebugWrapper(CursorWrapper):</pre></li>
2979
2980 <li onclick="toggle('pre140272479787136', 'post140272479787136')"><pre></pre></li>
2981
2982 <li onclick="toggle('pre140272479787136', 'post140272479787136')"><pre> # XXX callproc isn't instrumented at this time.</pre></li>
2983
2984 <li onclick="toggle('pre140272479787136', 'post140272479787136')"><pre></pre></li>
2985
2986 <li onclick="toggle('pre140272479787136', 'post140272479787136')"><pre> def execute(self, sql, params=None):</pre></li>
2987
2988 <li onclick="toggle('pre140272479787136', 'post140272479787136')"><pre> with self.debug_sql(sql, params, use_last_executed_query=True):</pre></li>
2989
2990 </ol>
2991
2992 <ol start="98" class="context-line">
2993 <li onclick="toggle('pre140272479787136', 'post140272479787136')"><pre> return super().execute(sql, params)</pre> <span>…</span></li>
2994 </ol>
2995
2996 <ol start="99" class="post-context" id="post140272479787136" style="display: none;">
2997
2998 <li onclick="toggle('pre140272479787136', 'post140272479787136')"><pre></pre></li>
2999
3000 <li onclick="toggle('pre140272479787136', 'post140272479787136')"><pre> def executemany(self, sql, param_list):</pre></li>
3001
3002 <li onclick="toggle('pre140272479787136', 'post140272479787136')"><pre> with self.debug_sql(sql, param_list, many=True):</pre></li>
3003
3004 <li onclick="toggle('pre140272479787136', 'post140272479787136')"><pre> return super().executemany(sql, param_list)</pre></li>
3005
3006 <li onclick="toggle('pre140272479787136', 'post140272479787136')"><pre></pre></li>
3007
3008 <li onclick="toggle('pre140272479787136', 'post140272479787136')"><pre> @contextmanager</pre></li>
3009
3010 </ol>
3011
3012 </div>
3013
3014
3015
3016 <div class="commands">
3017
3018 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272479787136')"><span>▶</span> Local vars</a>
3019
3020 </div>
3021 <table class="vars" id="v140272479787136" style="display: none;">
3022 <thead>
3023 <tr>
3024 <th>Variable</th>
3025 <th>Value</th>
3026 </tr>
3027 </thead>
3028 <tbody>
3029
3030 <tr>
3031 <td>__class__</td>
3032 <td class="code"><pre><class 'django.db.backends.utils.CursorDebugWrapper'></pre></td>
3033 </tr>
3034
3035 <tr>
3036 <td>params</td>
3037 <td class="code"><pre>(None,
3038 291289543104124,
3039 datetime.datetime(2021, 9, 2, 17, 42, 45, 552211, tzinfo=<UTC>),
3040 datetime.datetime(2021, 9, 2, 17, 42, 45, 552656, tzinfo=<UTC>),
3041 773641888890319,
3042 535049470519500,
3043 830273735610738)</pre></td>
3044 </tr>
3045
3046 <tr>
3047 <td>self</td>
3048 <td class="code"><pre><django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f93bb592e20></pre></td>
3049 </tr>
3050
3051 <tr>
3052 <td>sql</td>
3053 <td class="code"><pre>('INSERT INTO "chat_contact" ("deleted", "id", "created", "updated", '
3054 '"user_pkg_id", "counsellor_id", "main_patient_id") VALUES (%s, %s, %s, %s, '
3055 '%s, %s, %s)')</pre></td>
3056 </tr>
3057
3058 </tbody>
3059 </table>
3060
3061 </li>
3062
3063
3064 <li class="frame django">
3065
3066 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/backends/utils.py</code>, line 66, in execute
3067
3068
3069
3070 <div class="context" id="c140272480046976">
3071
3072 <ol start="59" class="pre-context" id="pre140272480046976" style="display: none;">
3073
3074 <li onclick="toggle('pre140272480046976', 'post140272480046976')"><pre> elif kparams is None:</pre></li>
3075
3076 <li onclick="toggle('pre140272480046976', 'post140272480046976')"><pre> return self.cursor.callproc(procname, params)</pre></li>
3077
3078 <li onclick="toggle('pre140272480046976', 'post140272480046976')"><pre> else:</pre></li>
3079
3080 <li onclick="toggle('pre140272480046976', 'post140272480046976')"><pre> params = params or ()</pre></li>
3081
3082 <li onclick="toggle('pre140272480046976', 'post140272480046976')"><pre> return self.cursor.callproc(procname, params, kparams)</pre></li>
3083
3084 <li onclick="toggle('pre140272480046976', 'post140272480046976')"><pre></pre></li>
3085
3086 <li onclick="toggle('pre140272480046976', 'post140272480046976')"><pre> def execute(self, sql, params=None):</pre></li>
3087
3088 </ol>
3089
3090 <ol start="66" class="context-line">
3091 <li onclick="toggle('pre140272480046976', 'post140272480046976')"><pre> return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)</pre> <span>…</span></li>
3092 </ol>
3093
3094 <ol start="67" class="post-context" id="post140272480046976" style="display: none;">
3095
3096 <li onclick="toggle('pre140272480046976', 'post140272480046976')"><pre></pre></li>
3097
3098 <li onclick="toggle('pre140272480046976', 'post140272480046976')"><pre> def executemany(self, sql, param_list):</pre></li>
3099
3100 <li onclick="toggle('pre140272480046976', 'post140272480046976')"><pre> return self._execute_with_wrappers(sql, param_list, many=True, executor=self._executemany)</pre></li>
3101
3102 <li onclick="toggle('pre140272480046976', 'post140272480046976')"><pre></pre></li>
3103
3104 <li onclick="toggle('pre140272480046976', 'post140272480046976')"><pre> def _execute_with_wrappers(self, sql, params, many, executor):</pre></li>
3105
3106 <li onclick="toggle('pre140272480046976', 'post140272480046976')"><pre> context = {'connection': self.db, 'cursor': self}</pre></li>
3107
3108 </ol>
3109
3110 </div>
3111
3112
3113
3114 <div class="commands">
3115
3116 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272480046976')"><span>▶</span> Local vars</a>
3117
3118 </div>
3119 <table class="vars" id="v140272480046976" style="display: none;">
3120 <thead>
3121 <tr>
3122 <th>Variable</th>
3123 <th>Value</th>
3124 </tr>
3125 </thead>
3126 <tbody>
3127
3128 <tr>
3129 <td>params</td>
3130 <td class="code"><pre>(None,
3131 291289543104124,
3132 datetime.datetime(2021, 9, 2, 17, 42, 45, 552211, tzinfo=<UTC>),
3133 datetime.datetime(2021, 9, 2, 17, 42, 45, 552656, tzinfo=<UTC>),
3134 773641888890319,
3135 535049470519500,
3136 830273735610738)</pre></td>
3137 </tr>
3138
3139 <tr>
3140 <td>self</td>
3141 <td class="code"><pre><django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f93bb592e20></pre></td>
3142 </tr>
3143
3144 <tr>
3145 <td>sql</td>
3146 <td class="code"><pre>('INSERT INTO "chat_contact" ("deleted", "id", "created", "updated", '
3147 '"user_pkg_id", "counsellor_id", "main_patient_id") VALUES (%s, %s, %s, %s, '
3148 '%s, %s, %s)')</pre></td>
3149 </tr>
3150
3151 </tbody>
3152 </table>
3153
3154 </li>
3155
3156
3157 <li class="frame django">
3158
3159 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/backends/utils.py</code>, line 75, in _execute_with_wrappers
3160
3161
3162
3163 <div class="context" id="c140272480045056">
3164
3165 <ol start="68" class="pre-context" id="pre140272480045056" style="display: none;">
3166
3167 <li onclick="toggle('pre140272480045056', 'post140272480045056')"><pre> def executemany(self, sql, param_list):</pre></li>
3168
3169 <li onclick="toggle('pre140272480045056', 'post140272480045056')"><pre> return self._execute_with_wrappers(sql, param_list, many=True, executor=self._executemany)</pre></li>
3170
3171 <li onclick="toggle('pre140272480045056', 'post140272480045056')"><pre></pre></li>
3172
3173 <li onclick="toggle('pre140272480045056', 'post140272480045056')"><pre> def _execute_with_wrappers(self, sql, params, many, executor):</pre></li>
3174
3175 <li onclick="toggle('pre140272480045056', 'post140272480045056')"><pre> context = {'connection': self.db, 'cursor': self}</pre></li>
3176
3177 <li onclick="toggle('pre140272480045056', 'post140272480045056')"><pre> for wrapper in reversed(self.db.execute_wrappers):</pre></li>
3178
3179 <li onclick="toggle('pre140272480045056', 'post140272480045056')"><pre> executor = functools.partial(wrapper, executor)</pre></li>
3180
3181 </ol>
3182
3183 <ol start="75" class="context-line">
3184 <li onclick="toggle('pre140272480045056', 'post140272480045056')"><pre> return executor(sql, params, many, context)</pre> <span>…</span></li>
3185 </ol>
3186
3187 <ol start="76" class="post-context" id="post140272480045056" style="display: none;">
3188
3189 <li onclick="toggle('pre140272480045056', 'post140272480045056')"><pre></pre></li>
3190
3191 <li onclick="toggle('pre140272480045056', 'post140272480045056')"><pre> def _execute(self, sql, params, *ignored_wrapper_args):</pre></li>
3192
3193 <li onclick="toggle('pre140272480045056', 'post140272480045056')"><pre> self.db.validate_no_broken_transaction()</pre></li>
3194
3195 <li onclick="toggle('pre140272480045056', 'post140272480045056')"><pre> with self.db.wrap_database_errors:</pre></li>
3196
3197 <li onclick="toggle('pre140272480045056', 'post140272480045056')"><pre> if params is None:</pre></li>
3198
3199 <li onclick="toggle('pre140272480045056', 'post140272480045056')"><pre> # params default might be backend specific.</pre></li>
3200
3201 </ol>
3202
3203 </div>
3204
3205
3206
3207 <div class="commands">
3208
3209 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272480045056')"><span>▶</span> Local vars</a>
3210
3211 </div>
3212 <table class="vars" id="v140272480045056" style="display: none;">
3213 <thead>
3214 <tr>
3215 <th>Variable</th>
3216 <th>Value</th>
3217 </tr>
3218 </thead>
3219 <tbody>
3220
3221 <tr>
3222 <td>context</td>
3223 <td class="code"><pre>{'connection': <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f93bedf7220>,
3224 'cursor': <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f93bb592e20>}</pre></td>
3225 </tr>
3226
3227 <tr>
3228 <td>executor</td>
3229 <td class="code"><pre><bound method CursorWrapper._execute of <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f93bb592e20>></pre></td>
3230 </tr>
3231
3232 <tr>
3233 <td>many</td>
3234 <td class="code"><pre>False</pre></td>
3235 </tr>
3236
3237 <tr>
3238 <td>params</td>
3239 <td class="code"><pre>(None,
3240 291289543104124,
3241 datetime.datetime(2021, 9, 2, 17, 42, 45, 552211, tzinfo=<UTC>),
3242 datetime.datetime(2021, 9, 2, 17, 42, 45, 552656, tzinfo=<UTC>),
3243 773641888890319,
3244 535049470519500,
3245 830273735610738)</pre></td>
3246 </tr>
3247
3248 <tr>
3249 <td>self</td>
3250 <td class="code"><pre><django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f93bb592e20></pre></td>
3251 </tr>
3252
3253 <tr>
3254 <td>sql</td>
3255 <td class="code"><pre>('INSERT INTO "chat_contact" ("deleted", "id", "created", "updated", '
3256 '"user_pkg_id", "counsellor_id", "main_patient_id") VALUES (%s, %s, %s, %s, '
3257 '%s, %s, %s)')</pre></td>
3258 </tr>
3259
3260 </tbody>
3261 </table>
3262
3263 </li>
3264
3265
3266 <li class="frame django">
3267
3268 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/backends/utils.py</code>, line 84, in _execute
3269
3270
3271
3272 <div class="context" id="c140272480043648">
3273
3274 <ol start="77" class="pre-context" id="pre140272480043648" style="display: none;">
3275
3276 <li onclick="toggle('pre140272480043648', 'post140272480043648')"><pre> def _execute(self, sql, params, *ignored_wrapper_args):</pre></li>
3277
3278 <li onclick="toggle('pre140272480043648', 'post140272480043648')"><pre> self.db.validate_no_broken_transaction()</pre></li>
3279
3280 <li onclick="toggle('pre140272480043648', 'post140272480043648')"><pre> with self.db.wrap_database_errors:</pre></li>
3281
3282 <li onclick="toggle('pre140272480043648', 'post140272480043648')"><pre> if params is None:</pre></li>
3283
3284 <li onclick="toggle('pre140272480043648', 'post140272480043648')"><pre> # params default might be backend specific.</pre></li>
3285
3286 <li onclick="toggle('pre140272480043648', 'post140272480043648')"><pre> return self.cursor.execute(sql)</pre></li>
3287
3288 <li onclick="toggle('pre140272480043648', 'post140272480043648')"><pre> else:</pre></li>
3289
3290 </ol>
3291
3292 <ol start="84" class="context-line">
3293 <li onclick="toggle('pre140272480043648', 'post140272480043648')"><pre> return self.cursor.execute(sql, params)</pre> <span>…</span></li>
3294 </ol>
3295
3296 <ol start="85" class="post-context" id="post140272480043648" style="display: none;">
3297
3298 <li onclick="toggle('pre140272480043648', 'post140272480043648')"><pre></pre></li>
3299
3300 <li onclick="toggle('pre140272480043648', 'post140272480043648')"><pre> def _executemany(self, sql, param_list, *ignored_wrapper_args):</pre></li>
3301
3302 <li onclick="toggle('pre140272480043648', 'post140272480043648')"><pre> self.db.validate_no_broken_transaction()</pre></li>
3303
3304 <li onclick="toggle('pre140272480043648', 'post140272480043648')"><pre> with self.db.wrap_database_errors:</pre></li>
3305
3306 <li onclick="toggle('pre140272480043648', 'post140272480043648')"><pre> return self.cursor.executemany(sql, param_list)</pre></li>
3307
3308 <li onclick="toggle('pre140272480043648', 'post140272480043648')"><pre></pre></li>
3309
3310 </ol>
3311
3312 </div>
3313
3314
3315
3316 <div class="commands">
3317
3318 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272480043648')"><span>▶</span> Local vars</a>
3319
3320 </div>
3321 <table class="vars" id="v140272480043648" style="display: none;">
3322 <thead>
3323 <tr>
3324 <th>Variable</th>
3325 <th>Value</th>
3326 </tr>
3327 </thead>
3328 <tbody>
3329
3330 <tr>
3331 <td>ignored_wrapper_args</td>
3332 <td class="code"><pre>(False,
3333 {'connection': <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f93bedf7220>,
3334 'cursor': <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f93bb592e20>})</pre></td>
3335 </tr>
3336
3337 <tr>
3338 <td>params</td>
3339 <td class="code"><pre>(None,
3340 291289543104124,
3341 datetime.datetime(2021, 9, 2, 17, 42, 45, 552211, tzinfo=<UTC>),
3342 datetime.datetime(2021, 9, 2, 17, 42, 45, 552656, tzinfo=<UTC>),
3343 773641888890319,
3344 535049470519500,
3345 830273735610738)</pre></td>
3346 </tr>
3347
3348 <tr>
3349 <td>self</td>
3350 <td class="code"><pre><django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f93bb592e20></pre></td>
3351 </tr>
3352
3353 <tr>
3354 <td>sql</td>
3355 <td class="code"><pre>('INSERT INTO "chat_contact" ("deleted", "id", "created", "updated", '
3356 '"user_pkg_id", "counsellor_id", "main_patient_id") VALUES (%s, %s, %s, %s, '
3357 '%s, %s, %s)')</pre></td>
3358 </tr>
3359
3360 </tbody>
3361 </table>
3362
3363 </li>
3364
3365
3366 <li class="frame django">
3367
3368 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/utils.py</code>, line 90, in __exit__
3369
3370
3371
3372 <div class="context" id="c140272480045312">
3373
3374 <ol start="83" class="pre-context" id="pre140272480045312" style="display: none;">
3375
3376 <li onclick="toggle('pre140272480045312', 'post140272480045312')"><pre> db_exc_type = getattr(self.wrapper.Database, dj_exc_type.__name__)</pre></li>
3377
3378 <li onclick="toggle('pre140272480045312', 'post140272480045312')"><pre> if issubclass(exc_type, db_exc_type):</pre></li>
3379
3380 <li onclick="toggle('pre140272480045312', 'post140272480045312')"><pre> dj_exc_value = dj_exc_type(*exc_value.args)</pre></li>
3381
3382 <li onclick="toggle('pre140272480045312', 'post140272480045312')"><pre> # Only set the 'errors_occurred' flag for errors that may make</pre></li>
3383
3384 <li onclick="toggle('pre140272480045312', 'post140272480045312')"><pre> # the connection unusable.</pre></li>
3385
3386 <li onclick="toggle('pre140272480045312', 'post140272480045312')"><pre> if dj_exc_type not in (DataError, IntegrityError):</pre></li>
3387
3388 <li onclick="toggle('pre140272480045312', 'post140272480045312')"><pre> self.wrapper.errors_occurred = True</pre></li>
3389
3390 </ol>
3391
3392 <ol start="90" class="context-line">
3393 <li onclick="toggle('pre140272480045312', 'post140272480045312')"><pre> raise dj_exc_value.with_traceback(traceback) from exc_value</pre> <span>…</span></li>
3394 </ol>
3395
3396 <ol start="91" class="post-context" id="post140272480045312" style="display: none;">
3397
3398 <li onclick="toggle('pre140272480045312', 'post140272480045312')"><pre></pre></li>
3399
3400 <li onclick="toggle('pre140272480045312', 'post140272480045312')"><pre> def __call__(self, func):</pre></li>
3401
3402 <li onclick="toggle('pre140272480045312', 'post140272480045312')"><pre> # Note that we are intentionally not using @wraps here for performance</pre></li>
3403
3404 <li onclick="toggle('pre140272480045312', 'post140272480045312')"><pre> # reasons. Refs #21109.</pre></li>
3405
3406 <li onclick="toggle('pre140272480045312', 'post140272480045312')"><pre> def inner(*args, **kwargs):</pre></li>
3407
3408 <li onclick="toggle('pre140272480045312', 'post140272480045312')"><pre> with self:</pre></li>
3409
3410 </ol>
3411
3412 </div>
3413
3414
3415
3416 <div class="commands">
3417
3418 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272480045312')"><span>▶</span> Local vars</a>
3419
3420 </div>
3421 <table class="vars" id="v140272480045312" style="display: none;">
3422 <thead>
3423 <tr>
3424 <th>Variable</th>
3425 <th>Value</th>
3426 </tr>
3427 </thead>
3428 <tbody>
3429
3430 <tr>
3431 <td>db_exc_type</td>
3432 <td class="code"><pre><class 'psycopg2.IntegrityError'></pre></td>
3433 </tr>
3434
3435 <tr>
3436 <td>dj_exc_type</td>
3437 <td class="code"><pre><class 'django.db.utils.IntegrityError'></pre></td>
3438 </tr>
3439
3440 <tr>
3441 <td>dj_exc_value</td>
3442 <td class="code"><pre>IntegrityError('duplicate key value violates unique constraint "chat_contact_user_pkg_id_key"\nDETAIL: Key (user_pkg_id)=(773641888890319) already exists.\n')</pre></td>
3443 </tr>
3444
3445 <tr>
3446 <td>exc_type</td>
3447 <td class="code"><pre><class 'psycopg2.errors.UniqueViolation'></pre></td>
3448 </tr>
3449
3450 <tr>
3451 <td>exc_value</td>
3452 <td class="code"><pre>UniqueViolation('duplicate key value violates unique constraint "chat_contact_user_pkg_id_key"\nDETAIL: Key (user_pkg_id)=(773641888890319) already exists.\n')</pre></td>
3453 </tr>
3454
3455 <tr>
3456 <td>self</td>
3457 <td class="code"><pre><django.db.utils.DatabaseErrorWrapper object at 0x7f93bc23f430></pre></td>
3458 </tr>
3459
3460 <tr>
3461 <td>traceback</td>
3462 <td class="code"><pre><traceback object at 0x7f93bb584680></pre></td>
3463 </tr>
3464
3465 </tbody>
3466 </table>
3467
3468 </li>
3469
3470
3471 <li class="frame django">
3472
3473 <code class="fname">/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/backends/utils.py</code>, line 84, in _execute
3474
3475
3476
3477 <div class="context" id="c140272480044672">
3478
3479 <ol start="77" class="pre-context" id="pre140272480044672" style="display: none;">
3480
3481 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> def _execute(self, sql, params, *ignored_wrapper_args):</pre></li>
3482
3483 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> self.db.validate_no_broken_transaction()</pre></li>
3484
3485 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> with self.db.wrap_database_errors:</pre></li>
3486
3487 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> if params is None:</pre></li>
3488
3489 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> # params default might be backend specific.</pre></li>
3490
3491 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> return self.cursor.execute(sql)</pre></li>
3492
3493 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> else:</pre></li>
3494
3495 </ol>
3496
3497 <ol start="84" class="context-line">
3498 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> return self.cursor.execute(sql, params)</pre> <span>…</span></li>
3499 </ol>
3500
3501 <ol start="85" class="post-context" id="post140272480044672" style="display: none;">
3502
3503 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre></pre></li>
3504
3505 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> def _executemany(self, sql, param_list, *ignored_wrapper_args):</pre></li>
3506
3507 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> self.db.validate_no_broken_transaction()</pre></li>
3508
3509 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> with self.db.wrap_database_errors:</pre></li>
3510
3511 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre> return self.cursor.executemany(sql, param_list)</pre></li>
3512
3513 <li onclick="toggle('pre140272480044672', 'post140272480044672')"><pre></pre></li>
3514
3515 </ol>
3516
3517 </div>
3518
3519
3520
3521 <div class="commands">
3522
3523 <a href="https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default#" onclick="return varToggle(this, '140272480044672')"><span>▶</span> Local vars</a>
3524
3525 </div>
3526 <table class="vars" id="v140272480044672" style="display: none;">
3527 <thead>
3528 <tr>
3529 <th>Variable</th>
3530 <th>Value</th>
3531 </tr>
3532 </thead>
3533 <tbody>
3534
3535 <tr>
3536 <td>ignored_wrapper_args</td>
3537 <td class="code"><pre>(False,
3538 {'connection': <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f93bedf7220>,
3539 'cursor': <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f93bb592e20>})</pre></td>
3540 </tr>
3541
3542 <tr>
3543 <td>params</td>
3544 <td class="code"><pre>(None,
3545 291289543104124,
3546 datetime.datetime(2021, 9, 2, 17, 42, 45, 552211, tzinfo=<UTC>),
3547 datetime.datetime(2021, 9, 2, 17, 42, 45, 552656, tzinfo=<UTC>),
3548 773641888890319,
3549 535049470519500,
3550 830273735610738)</pre></td>
3551 </tr>
3552
3553 <tr>
3554 <td>self</td>
3555 <td class="code"><pre><django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f93bb592e20></pre></td>
3556 </tr>
3557
3558 <tr>
3559 <td>sql</td>
3560 <td class="code"><pre>('INSERT INTO "chat_contact" ("deleted", "id", "created", "updated", '
3561 '"user_pkg_id", "counsellor_id", "main_patient_id") VALUES (%s, %s, %s, %s, '
3562 '%s, %s, %s)')</pre></td>
3563 </tr>
3564
3565 </tbody>
3566 </table>
3567
3568 </li>
3569
3570 </ul>
3571 </div>
3572 <form action="https://dpaste.com/" name="pasteform" id="pasteform" method="post">
3573
3574 <div id="pastebinTraceback" class="pastebin" style="display: none;">
3575 <input type="hidden" name="language" value="PythonConsole">
3576 <input type="hidden" name="title" value="IntegrityError at /payment/esewa/">
3577 <input type="hidden" name="source" value="Django Dpaste Agent">
3578 <input type="hidden" name="poster" value="Django">
3579 <textarea name="content" id="traceback_area" cols="140" rows="25">Environment:
3580
3581
3582Request Method: POST
3583Request URL: https://api.peopledevelopmentlab.com/payment/esewa/
3584
3585Django Version: 3.2.1
3586Python Version: 3.8.10
3587Installed Applications:
3588['django.contrib.admin',
3589 'django.contrib.sites',
3590 'django.contrib.auth',
3591 'django.contrib.contenttypes',
3592 'django.contrib.sessions',
3593 'django.contrib.messages',
3594 'django.contrib.staticfiles',
3595 'corsheaders',
3596 'rest_framework',
3597 'djoser',
3598 'django_filters',
3599 'drf_yasg',
3600 'channels',
3601 'taggit',
3602 'taggit_serializer',
3603 'rest_framework_simplejwt.token_blacklist',
3604 'fcm_django',
3605 'safedelete',
3606 'gmailapi_backend',
3607 'phonenumber_field',
3608 'manobhavana.apps.account',
3609 'manobhavana.apps.package',
3610 'manobhavana.apps.counsellor',
3611 'manobhavana.apps.chat',
3612 'manobhavana.apps.cms',
3613 'manobhavana.apps.payment',
3614 'manobhavana.apps.patient',
3615 'manobhavana.apps.notification',
3616 'manobhavana.apps.report',
3617 'manobhavana.apps.coupon']
3618Installed Middleware:
3619['django.middleware.security.SecurityMiddleware',
3620 'django.contrib.sessions.middleware.SessionMiddleware',
3621 'corsheaders.middleware.CorsMiddleware',
3622 'django.middleware.common.CommonMiddleware',
3623 'django.middleware.csrf.CsrfViewMiddleware',
3624 'django.contrib.auth.middleware.AuthenticationMiddleware',
3625 'django.contrib.messages.middleware.MessageMiddleware',
3626 'django.middleware.clickjacking.XFrameOptionsMiddleware',
3627 'manobhavana.utils.middleware.ThreadLocalMiddleware']
3628
3629
3630
3631Traceback (most recent call last):
3632 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
3633 return self.cursor.execute(sql, params)
3634
3635The above exception (duplicate key value violates unique constraint "chat_contact_user_pkg_id_key"
3636DETAIL: Key (user_pkg_id)=(773641888890319) already exists.
3637) was the direct cause of the following exception:
3638 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
3639 response = get_response(request)
3640 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 181, in _get_response
3641 response = wrapped_callback(request, *callback_args, **callback_kwargs)
3642 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
3643 return view_func(*args, **kwargs)
3644 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/views/generic/base.py", line 70, in view
3645 return self.dispatch(request, *args, **kwargs)
3646 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/rest_framework/views.py", line 509, in dispatch
3647 response = self.handle_exception(exc)
3648 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/rest_framework/views.py", line 469, in handle_exception
3649 self.raise_uncaught_exception(exc)
3650 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
3651 raise exc
3652 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/rest_framework/views.py", line 506, in dispatch
3653 response = handler(request, *args, **kwargs)
3654 File "/home/ubuntu/pdl_backend/manobhavana/apps/payment/views.py", line 38, in post
3655 if serializer.is_valid():
3656 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/rest_framework/serializers.py", line 220, in is_valid
3657 self._validated_data = self.run_validation(self.initial_data)
3658 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/rest_framework/serializers.py", line 422, in run_validation
3659 value = self.validate(value)
3660 File "/home/ubuntu/pdl_backend/manobhavana/apps/payment/serializers.py", line 117, in validate
3661 payment.save()
3662 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/safedelete/models.py", line 98, in save
3663 super(SafeDeleteModel, self).save(**kwargs)
3664 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/models/base.py", line 726, in save
3665 self.save_base(using=using, force_insert=force_insert,
3666 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/models/base.py", line 774, in save_base
3667 post_save.send(
3668 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/dispatch/dispatcher.py", line 180, in send
3669 return [
3670 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/dispatch/dispatcher.py", line 181, in <listcomp>
3671 (receiver, receiver(signal=self, sender=sender, **named))
3672 File "/home/ubuntu/pdl_backend/manobhavana/apps/payment/signals.py", line 108, in assign_counsellor_success_payment
3673 chat_contact.save()
3674 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/safedelete/models.py", line 98, in save
3675 super(SafeDeleteModel, self).save(**kwargs)
3676 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/models/base.py", line 726, in save
3677 self.save_base(using=using, force_insert=force_insert,
3678 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/models/base.py", line 763, in save_base
3679 updated = self._save_table(
3680 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/models/base.py", line 868, in _save_table
3681 results = self._do_insert(cls._base_manager, using, fields, returning_fields, raw)
3682 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/models/base.py", line 906, in _do_insert
3683 return manager._insert(
3684 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/models/manager.py", line 85, in manager_method
3685 return getattr(self.get_queryset(), name)(*args, **kwargs)
3686 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/models/query.py", line 1270, in _insert
3687 return query.get_compiler(using=using).execute_sql(returning_fields)
3688 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/models/sql/compiler.py", line 1416, in execute_sql
3689 cursor.execute(sql, params)
3690 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 98, in execute
3691 return super().execute(sql, params)
3692 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 66, in execute
3693 return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
3694 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
3695 return executor(sql, params, many, context)
3696 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
3697 return self.cursor.execute(sql, params)
3698 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/utils.py", line 90, in __exit__
3699 raise dj_exc_value.with_traceback(traceback) from exc_value
3700 File "/home/ubuntu/pdl_backend/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
3701 return self.cursor.execute(sql, params)
3702
3703Exception Type: IntegrityError at /payment/esewa/
3704Exception Value: duplicate key value violates unique constraint "chat_contact_user_pkg_id_key"
3705DETAIL: Key (user_pkg_id)=(773641888890319) already exists.
3706
3707</textarea>
3708 <br><br>
3709 <input type="submit" value="Share this traceback on a public website">
3710 </div>
3711</form>
3712</div>
3713
3714
3715
3716<div id="requestinfo">
3717 <h2>Request information</h2>
3718
3719
3720
3721 <h3 id="user-info">USER</h3>
3722 <p>pdl@yopmail.com</p>
3723
3724
3725 <h3 id="get-info">GET</h3>
3726
3727 <p>No GET data</p>
3728
3729
3730 <h3 id="post-info">POST</h3>
3731
3732 <p>No POST data</p>
3733
3734 <h3 id="files-info">FILES</h3>
3735
3736 <p>No FILES data</p>
3737
3738
3739
3740 <h3 id="cookie-info">COOKIES</h3>
3741
3742 <p>No cookie data</p>
3743
3744
3745 <h3 id="meta-info">META</h3>
3746 <table class="req">
3747 <thead>
3748 <tr>
3749 <th>Variable</th>
3750 <th>Value</th>
3751 </tr>
3752 </thead>
3753 <tbody>
3754
3755 <tr>
3756 <td>CONTENT_LENGTH</td>
3757 <td class="code"><pre>'67'</pre></td>
3758 </tr>
3759
3760 <tr>
3761 <td>CONTENT_TYPE</td>
3762 <td class="code"><pre>'application/json;charset=utf-8'</pre></td>
3763 </tr>
3764
3765 <tr>
3766 <td>HTTP_ACCEPT</td>
3767 <td class="code"><pre>'application/json, text/plain, */*'</pre></td>
3768 </tr>
3769
3770 <tr>
3771 <td>HTTP_ACCEPT_ENCODING</td>
3772 <td class="code"><pre>'gzip'</pre></td>
3773 </tr>
3774
3775 <tr>
3776 <td>HTTP_AUTHORIZATION</td>
3777 <td class="code"><pre>('Bearer '
3778 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjMzMTk0MTczLCJqdGkiOiJhYTg4N2E1YzMzZWI0Njc0YjNlODRkMDVmYzM5MDU1MyIsInVzZXJfaWQiOjgzMDI3MzczNTYxMDczOH0.R-bAq52AU9dXii6TBKwVtk7u10VfXdfO10JPDSq63jM')</pre></td>
3779 </tr>
3780
3781 <tr>
3782 <td>HTTP_CONNECTION</td>
3783 <td class="code"><pre>'close'</pre></td>
3784 </tr>
3785
3786 <tr>
3787 <td>HTTP_HOST</td>
3788 <td class="code"><pre>'api.peopledevelopmentlab.com'</pre></td>
3789 </tr>
3790
3791 <tr>
3792 <td>HTTP_USER_AGENT</td>
3793 <td class="code"><pre>'okhttp/3.12.12'</pre></td>
3794 </tr>
3795
3796 <tr>
3797 <td>HTTP_X_FORWARDED_FOR</td>
3798 <td class="code"><pre>'103.104.30.176'</pre></td>
3799 </tr>
3800
3801 <tr>
3802 <td>HTTP_X_FORWARDED_PROTO</td>
3803 <td class="code"><pre>'https'</pre></td>
3804 </tr>
3805
3806 <tr>
3807 <td>HTTP_X_REAL_IP</td>
3808 <td class="code"><pre>'103.104.30.176'</pre></td>
3809 </tr>
3810
3811 <tr>
3812 <td>PATH_INFO</td>
3813 <td class="code"><pre>'/payment/esewa/'</pre></td>
3814 </tr>
3815
3816 <tr>
3817 <td>QUERY_STRING</td>
3818 <td class="code"><pre>''</pre></td>
3819 </tr>
3820
3821 <tr>
3822 <td>RAW_URI</td>
3823 <td class="code"><pre>'/payment/esewa/'</pre></td>
3824 </tr>
3825
3826 <tr>
3827 <td>REMOTE_ADDR</td>
3828 <td class="code"><pre>''</pre></td>
3829 </tr>
3830
3831 <tr>
3832 <td>REQUEST_METHOD</td>
3833 <td class="code"><pre>'POST'</pre></td>
3834 </tr>
3835
3836 <tr>
3837 <td>SCRIPT_NAME</td>
3838 <td class="code"><pre>''</pre></td>
3839 </tr>
3840
3841 <tr>
3842 <td>SERVER_NAME</td>
3843 <td class="code"><pre>'api.peopledevelopmentlab.com'</pre></td>
3844 </tr>
3845
3846 <tr>
3847 <td>SERVER_PORT</td>
3848 <td class="code"><pre>'443'</pre></td>
3849 </tr>
3850
3851 <tr>
3852 <td>SERVER_PROTOCOL</td>
3853 <td class="code"><pre>'HTTP/1.0'</pre></td>
3854 </tr>
3855
3856 <tr>
3857 <td>SERVER_SOFTWARE</td>
3858 <td class="code"><pre>'gunicorn/20.1.0'</pre></td>
3859 </tr>
3860
3861 <tr>
3862 <td>gunicorn.socket</td>
3863 <td class="code"><pre><socket.socket fd=17, family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0, laddr=/run/pdl.sock></pre></td>
3864 </tr>
3865
3866 <tr>
3867 <td>wsgi.errors</td>
3868 <td class="code"><pre><gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f93bb5a2d30></pre></td>
3869 </tr>
3870
3871 <tr>
3872 <td>wsgi.file_wrapper</td>
3873 <td class="code"><pre><class 'gunicorn.http.wsgi.FileWrapper'></pre></td>
3874 </tr>
3875
3876 <tr>
3877 <td>wsgi.input</td>
3878 <td class="code"><pre><gunicorn.http.body.Body object at 0x7f93bb5a2f40></pre></td>
3879 </tr>
3880
3881 <tr>
3882 <td>wsgi.input_terminated</td>
3883 <td class="code"><pre>True</pre></td>
3884 </tr>
3885
3886 <tr>
3887 <td>wsgi.multiprocess</td>
3888 <td class="code"><pre>True</pre></td>
3889 </tr>
3890
3891 <tr>
3892 <td>wsgi.multithread</td>
3893 <td class="code"><pre>False</pre></td>
3894 </tr>
3895
3896 <tr>
3897 <td>wsgi.run_once</td>
3898 <td class="code"><pre>False</pre></td>
3899 </tr>
3900
3901 <tr>
3902 <td>wsgi.url_scheme</td>
3903 <td class="code"><pre>'https'</pre></td>
3904 </tr>
3905
3906 <tr>
3907 <td>wsgi.version</td>
3908 <td class="code"><pre>(1, 0)</pre></td>
3909 </tr>
3910
3911 </tbody>
3912 </table>
3913
3914
3915 <h3 id="settings-info">Settings</h3>
3916 <h4>Using settings module <code>manobhavana.settings.pro</code></h4>
3917 <table class="req">
3918 <thead>
3919 <tr>
3920 <th>Setting</th>
3921 <th>Value</th>
3922 </tr>
3923 </thead>
3924 <tbody>
3925
3926 <tr>
3927 <td>ABSOLUTE_URL_OVERRIDES</td>
3928 <td class="code"><pre>{}</pre></td>
3929 </tr>
3930
3931 <tr>
3932 <td>ADMINS</td>
3933 <td class="code"><pre>[]</pre></td>
3934 </tr>
3935
3936 <tr>
3937 <td>AGENT_APPS</td>
3938 <td class="code"><pre>['corsheaders',
3939 'rest_framework',
3940 'djoser',
3941 'django_filters',
3942 'drf_yasg',
3943 'channels',
3944 'taggit',
3945 'taggit_serializer',
3946 'rest_framework_simplejwt.token_blacklist',
3947 'fcm_django',
3948 'safedelete',
3949 'gmailapi_backend',
3950 'phonenumber_field']</pre></td>
3951 </tr>
3952
3953 <tr>
3954 <td>ALLOWED_HOSTS</td>
3955 <td class="code"><pre>['0.0.0.0',
3956 'localhost',
3957 '127.0.0.1',
3958 'peopledevelopmentlab.com',
3959 'www.peopledevelopmentlab.com',
3960 'api.peopledevelopmentlab.com',
3961 '134.122.119.11']</pre></td>
3962 </tr>
3963
3964 <tr>
3965 <td>APPEND_SLASH</td>
3966 <td class="code"><pre>True</pre></td>
3967 </tr>
3968
3969 <tr>
3970 <td>ASGI_APPLICATION</td>
3971 <td class="code"><pre>'manobhavana.core.asgi.application'</pre></td>
3972 </tr>
3973
3974 <tr>
3975 <td>AUTHENTICATION_BACKENDS</td>
3976 <td class="code"><pre>('django.contrib.auth.backends.ModelBackend',)</pre></td>
3977 </tr>
3978
3979 <tr>
3980 <td>AUTH_PASSWORD_VALIDATORS</td>
3981 <td class="code"><pre>'********************'</pre></td>
3982 </tr>
3983
3984 <tr>
3985 <td>AUTH_USER_MODEL</td>
3986 <td class="code"><pre>'account.User'</pre></td>
3987 </tr>
3988
3989 <tr>
3990 <td>BACKEND_URL</td>
3991 <td class="code"><pre>'https://api.peopledevelopmentlab.com'</pre></td>
3992 </tr>
3993
3994 <tr>
3995 <td>BASE_DIR</td>
3996 <td class="code"><pre><Path:/home/ubuntu/pdl_backend/manobhavana></pre></td>
3997 </tr>
3998
3999 <tr>
4000 <td>CACHES</td>
4001 <td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}</pre></td>
4002 </tr>
4003
4004 <tr>
4005 <td>CACHE_MIDDLEWARE_ALIAS</td>
4006 <td class="code"><pre>'default'</pre></td>
4007 </tr>
4008
4009 <tr>
4010 <td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
4011 <td class="code"><pre>'********************'</pre></td>
4012 </tr>
4013
4014 <tr>
4015 <td>CACHE_MIDDLEWARE_SECONDS</td>
4016 <td class="code"><pre>600</pre></td>
4017 </tr>
4018
4019 <tr>
4020 <td>CHANNEL_LAYERS</td>
4021 <td class="code"><pre>{'default': {'BACKEND': 'channels.layers.InMemoryChannelLayer'}}</pre></td>
4022 </tr>
4023
4024 <tr>
4025 <td>CORS_ORIGIN_ALLOW_ALL</td>
4026 <td class="code"><pre>True</pre></td>
4027 </tr>
4028
4029 <tr>
4030 <td>CSRF_COOKIE_AGE</td>
4031 <td class="code"><pre>31449600</pre></td>
4032 </tr>
4033
4034 <tr>
4035 <td>CSRF_COOKIE_DOMAIN</td>
4036 <td class="code"><pre>None</pre></td>
4037 </tr>
4038
4039 <tr>
4040 <td>CSRF_COOKIE_HTTPONLY</td>
4041 <td class="code"><pre>False</pre></td>
4042 </tr>
4043
4044 <tr>
4045 <td>CSRF_COOKIE_NAME</td>
4046 <td class="code"><pre>'csrftoken'</pre></td>
4047 </tr>
4048
4049 <tr>
4050 <td>CSRF_COOKIE_PATH</td>
4051 <td class="code"><pre>'/'</pre></td>
4052 </tr>
4053
4054 <tr>
4055 <td>CSRF_COOKIE_SAMESITE</td>
4056 <td class="code"><pre>'Lax'</pre></td>
4057 </tr>
4058
4059 <tr>
4060 <td>CSRF_COOKIE_SECURE</td>
4061 <td class="code"><pre>False</pre></td>
4062 </tr>
4063
4064 <tr>
4065 <td>CSRF_FAILURE_VIEW</td>
4066 <td class="code"><pre>'django.views.csrf.csrf_failure'</pre></td>
4067 </tr>
4068
4069 <tr>
4070 <td>CSRF_HEADER_NAME</td>
4071 <td class="code"><pre>'HTTP_X_CSRFTOKEN'</pre></td>
4072 </tr>
4073
4074 <tr>
4075 <td>CSRF_TRUSTED_ORIGINS</td>
4076 <td class="code"><pre>[]</pre></td>
4077 </tr>
4078
4079 <tr>
4080 <td>CSRF_USE_SESSIONS</td>
4081 <td class="code"><pre>False</pre></td>
4082 </tr>
4083
4084 <tr>
4085 <td>DATABASES</td>
4086 <td class="code"><pre>{'default': {'ATOMIC_REQUESTS': False,
4087 'AUTOCOMMIT': True,
4088 'CONN_MAX_AGE': 0,
4089 'ENGINE': 'django.db.backends.postgresql_psycopg2',
4090 'HOST': '127.0.0.1',
4091 'NAME': 'pdldb',
4092 'OPTIONS': {},
4093 'PASSWORD': '********************',
4094 'PORT': 5432,
4095 'TEST': {'CHARSET': None,
4096 'COLLATION': None,
4097 'MIGRATE': True,
4098 'MIRROR': None,
4099 'NAME': None},
4100 'TIME_ZONE': None,
4101 'USER': 'postgres'}}</pre></td>
4102 </tr>
4103
4104 <tr>
4105 <td>DATABASE_ROUTERS</td>
4106 <td class="code"><pre>[]</pre></td>
4107 </tr>
4108
4109 <tr>
4110 <td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
4111 <td class="code"><pre>2621440</pre></td>
4112 </tr>
4113
4114 <tr>
4115 <td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
4116 <td class="code"><pre>1000</pre></td>
4117 </tr>
4118
4119 <tr>
4120 <td>DATETIME_FORMAT</td>
4121 <td class="code"><pre>'N j, Y, P'</pre></td>
4122 </tr>
4123
4124 <tr>
4125 <td>DATETIME_INPUT_FORMATS</td>
4126 <td class="code"><pre>['%Y-%m-%d %H:%M:%S',
4127 '%Y-%m-%d %H:%M:%S.%f',
4128 '%Y-%m-%d %H:%M',
4129 '%m/%d/%Y %H:%M:%S',
4130 '%m/%d/%Y %H:%M:%S.%f',
4131 '%m/%d/%Y %H:%M',
4132 '%m/%d/%y %H:%M:%S',
4133 '%m/%d/%y %H:%M:%S.%f',
4134 '%m/%d/%y %H:%M']</pre></td>
4135 </tr>
4136
4137 <tr>
4138 <td>DATE_FORMAT</td>
4139 <td class="code"><pre>'N j, Y'</pre></td>
4140 </tr>
4141
4142 <tr>
4143 <td>DATE_INPUT_FORMATS</td>
4144 <td class="code"><pre>['%Y-%m-%d',
4145 '%m/%d/%Y',
4146 '%m/%d/%y',
4147 '%b %d %Y',
4148 '%b %d, %Y',
4149 '%d %b %Y',
4150 '%d %b, %Y',
4151 '%B %d %Y',
4152 '%B %d, %Y',
4153 '%d %B %Y',
4154 '%d %B, %Y']</pre></td>
4155 </tr>
4156
4157 <tr>
4158 <td>DEBUG</td>
4159 <td class="code"><pre>True</pre></td>
4160 </tr>
4161
4162 <tr>
4163 <td>DEBUG_PROPAGATE_EXCEPTIONS</td>
4164 <td class="code"><pre>False</pre></td>
4165 </tr>
4166
4167 <tr>
4168 <td>DECIMAL_SEPARATOR</td>
4169 <td class="code"><pre>'.'</pre></td>
4170 </tr>
4171
4172 <tr>
4173 <td>DEFAULT_AUTO_FIELD</td>
4174 <td class="code"><pre>'django.db.models.AutoField'</pre></td>
4175 </tr>
4176
4177 <tr>
4178 <td>DEFAULT_CHARSET</td>
4179 <td class="code"><pre>'utf-8'</pre></td>
4180 </tr>
4181
4182 <tr>
4183 <td>DEFAULT_EXCEPTION_REPORTER</td>
4184 <td class="code"><pre>'django.views.debug.ExceptionReporter'</pre></td>
4185 </tr>
4186
4187 <tr>
4188 <td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
4189 <td class="code"><pre>'django.views.debug.SafeExceptionReporterFilter'</pre></td>
4190 </tr>
4191
4192 <tr>
4193 <td>DEFAULT_FILE_STORAGE</td>
4194 <td class="code"><pre>'django.core.files.storage.FileSystemStorage'</pre></td>
4195 </tr>
4196
4197 <tr>
4198 <td>DEFAULT_FROM_EMAIL</td>
4199 <td class="code"><pre>'webmaster@localhost'</pre></td>
4200 </tr>
4201
4202 <tr>
4203 <td>DEFAULT_HASHING_ALGORITHM</td>
4204 <td class="code"><pre>'sha256'</pre></td>
4205 </tr>
4206
4207 <tr>
4208 <td>DEFAULT_INDEX_TABLESPACE</td>
4209 <td class="code"><pre>''</pre></td>
4210 </tr>
4211
4212 <tr>
4213 <td>DEFAULT_TABLESPACE</td>
4214 <td class="code"><pre>''</pre></td>
4215 </tr>
4216
4217 <tr>
4218 <td>DISALLOWED_USER_AGENTS</td>
4219 <td class="code"><pre>[]</pre></td>
4220 </tr>
4221
4222 <tr>
4223 <td>DJANGO_APPS</td>
4224 <td class="code"><pre>['django.contrib.admin',
4225 'django.contrib.sites',
4226 'django.contrib.auth',
4227 'django.contrib.contenttypes',
4228 'django.contrib.sessions',
4229 'django.contrib.messages',
4230 'django.contrib.staticfiles']</pre></td>
4231 </tr>
4232
4233 <tr>
4234 <td>DJOSER</td>
4235 <td class="code"><pre>{'ACTIVATION_URL': 'account/activation/{uid}/{token}',
4236 'PASSWORD_CHANGED_EMAIL_CONFIRMATION': '********************',
4237 'PASSWORD_RESET_CONFIRM_URL': '********************',
4238 'SEND_ACTIVATION_EMAIL': True,
4239 'SEND_CONFIRMATION_EMAIL': True,
4240 'SERIALIZERS': {'activation': 'manobhavana.apps.account.serializers.ActivationSerializer'}}</pre></td>
4241 </tr>
4242
4243 <tr>
4244 <td>EMAIL_BACKEND</td>
4245 <td class="code"><pre>'django.core.mail.backends.smtp.EmailBackend'</pre></td>
4246 </tr>
4247
4248 <tr>
4249 <td>EMAIL_HOST</td>
4250 <td class="code"><pre>'smtp.gmail.com'</pre></td>
4251 </tr>
4252
4253 <tr>
4254 <td>EMAIL_HOST_PASSWORD</td>
4255 <td class="code"><pre>'********************'</pre></td>
4256 </tr>
4257
4258 <tr>
4259 <td>EMAIL_HOST_USER</td>
4260 <td class="code"><pre>'magarsantu420@gmail.com'</pre></td>
4261 </tr>
4262
4263 <tr>
4264 <td>EMAIL_PORT</td>
4265 <td class="code"><pre>587</pre></td>
4266 </tr>
4267
4268 <tr>
4269 <td>EMAIL_SSL_CERTFILE</td>
4270 <td class="code"><pre>None</pre></td>
4271 </tr>
4272
4273 <tr>
4274 <td>EMAIL_SSL_KEYFILE</td>
4275 <td class="code"><pre>'********************'</pre></td>
4276 </tr>
4277
4278 <tr>
4279 <td>EMAIL_SUBJECT_PREFIX</td>
4280 <td class="code"><pre>'[Django] '</pre></td>
4281 </tr>
4282
4283 <tr>
4284 <td>EMAIL_TIMEOUT</td>
4285 <td class="code"><pre>None</pre></td>
4286 </tr>
4287
4288 <tr>
4289 <td>EMAIL_USE_LOCALTIME</td>
4290 <td class="code"><pre>False</pre></td>
4291 </tr>
4292
4293 <tr>
4294 <td>EMAIL_USE_SSL</td>
4295 <td class="code"><pre>False</pre></td>
4296 </tr>
4297
4298 <tr>
4299 <td>EMAIL_USE_TLS</td>
4300 <td class="code"><pre>True</pre></td>
4301 </tr>
4302
4303 <tr>
4304 <td>ESEWA_SCD</td>
4305 <td class="code"><pre>'EPAYTEST'</pre></td>
4306 </tr>
4307
4308 <tr>
4309 <td>ESEWA_URL</td>
4310 <td class="code"><pre>'https://uat.esewa.com.np/epay/transrec'</pre></td>
4311 </tr>
4312
4313 <tr>
4314 <td>FCM_DJANGO_SETTINGS</td>
4315 <td class="code"><pre>{'APP_VERBOSE_NAME': 'Manobhavana',
4316 'DELETE_INACTIVE_DEVICES': True,
4317 'ERRORS': {'invalid_package_name': 'InvalidPackageName',
4318 'invalid_registration': 'InvalidRegistration',
4319 'missing_registration': 'MissingRegistration',
4320 'not_registered': 'NotRegistered'},
4321 'FCM_SERVER': 'https://fcm.googleapis.com/fcm/send',
4322 'FCM_SERVER_KEY': '********************',
4323 'ONE_DEVICE_PER_USER': False,
4324 'USER_MODEL': 'account.User'}</pre></td>
4325 </tr>
4326
4327 <tr>
4328 <td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
4329 <td class="code"><pre>None</pre></td>
4330 </tr>
4331
4332 <tr>
4333 <td>FILE_UPLOAD_HANDLERS</td>
4334 <td class="code"><pre>['django.core.files.uploadhandler.MemoryFileUploadHandler',
4335 'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
4336 </tr>
4337
4338 <tr>
4339 <td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
4340 <td class="code"><pre>2621440</pre></td>
4341 </tr>
4342
4343 <tr>
4344 <td>FILE_UPLOAD_PERMISSIONS</td>
4345 <td class="code"><pre>420</pre></td>
4346 </tr>
4347
4348 <tr>
4349 <td>FILE_UPLOAD_TEMP_DIR</td>
4350 <td class="code"><pre>None</pre></td>
4351 </tr>
4352
4353 <tr>
4354 <td>FIRST_DAY_OF_WEEK</td>
4355 <td class="code"><pre>0</pre></td>
4356 </tr>
4357
4358 <tr>
4359 <td>FIXTURE_DIRS</td>
4360 <td class="code"><pre>[]</pre></td>
4361 </tr>
4362
4363 <tr>
4364 <td>FORCE_SCRIPT_NAME</td>
4365 <td class="code"><pre>None</pre></td>
4366 </tr>
4367
4368 <tr>
4369 <td>FORMAT_MODULE_PATH</td>
4370 <td class="code"><pre>None</pre></td>
4371 </tr>
4372
4373 <tr>
4374 <td>FORM_RENDERER</td>
4375 <td class="code"><pre>'django.forms.renderers.DjangoTemplates'</pre></td>
4376 </tr>
4377
4378 <tr>
4379 <td>FROM_EMAIL</td>
4380 <td class="code"><pre>'noreply@ewastemandu.com'</pre></td>
4381 </tr>
4382
4383 <tr>
4384 <td>FRONT_URL</td>
4385 <td class="code"><pre>'https://peopledevelopmentlab.com'</pre></td>
4386 </tr>
4387
4388 <tr>
4389 <td>GOOGLE_CLIENT_ID</td>
4390 <td class="code"><pre>'294208779791-5top43t498lfm7gkcgl64m7fad6s292n.apps.googleusercontent.com'</pre></td>
4391 </tr>
4392
4393 <tr>
4394 <td>IGNORABLE_404_URLS</td>
4395 <td class="code"><pre>[]</pre></td>
4396 </tr>
4397
4398 <tr>
4399 <td>INSTALLED_APPS</td>
4400 <td class="code"><pre>['django.contrib.admin',
4401 'django.contrib.sites',
4402 'django.contrib.auth',
4403 'django.contrib.contenttypes',
4404 'django.contrib.sessions',
4405 'django.contrib.messages',
4406 'django.contrib.staticfiles',
4407 'corsheaders',
4408 'rest_framework',
4409 'djoser',
4410 'django_filters',
4411 'drf_yasg',
4412 'channels',
4413 'taggit',
4414 'taggit_serializer',
4415 'rest_framework_simplejwt.token_blacklist',
4416 'fcm_django',
4417 'safedelete',
4418 'gmailapi_backend',
4419 'phonenumber_field',
4420 'manobhavana.apps.account',
4421 'manobhavana.apps.package',
4422 'manobhavana.apps.counsellor',
4423 'manobhavana.apps.chat',
4424 'manobhavana.apps.cms',
4425 'manobhavana.apps.payment',
4426 'manobhavana.apps.patient',
4427 'manobhavana.apps.notification',
4428 'manobhavana.apps.report',
4429 'manobhavana.apps.coupon']</pre></td>
4430 </tr>
4431
4432 <tr>
4433 <td>INTERNAL_IPS</td>
4434 <td class="code"><pre>[]</pre></td>
4435 </tr>
4436
4437 <tr>
4438 <td>KHALTI_SECRECT_KEY</td>
4439 <td class="code"><pre>'********************'</pre></td>
4440 </tr>
4441
4442 <tr>
4443 <td>KHALTI_URL</td>
4444 <td class="code"><pre>'https://khalti.com/api/v2/payment/verify/'</pre></td>
4445 </tr>
4446
4447 <tr>
4448 <td>LANGUAGES</td>
4449 <td class="code"><pre>[('af', 'Afrikaans'),
4450 ('ar', 'Arabic'),
4451 ('ar-dz', 'Algerian Arabic'),
4452 ('ast', 'Asturian'),
4453 ('az', 'Azerbaijani'),
4454 ('bg', 'Bulgarian'),
4455 ('be', 'Belarusian'),
4456 ('bn', 'Bengali'),
4457 ('br', 'Breton'),
4458 ('bs', 'Bosnian'),
4459 ('ca', 'Catalan'),
4460 ('cs', 'Czech'),
4461 ('cy', 'Welsh'),
4462 ('da', 'Danish'),
4463 ('de', 'German'),
4464 ('dsb', 'Lower Sorbian'),
4465 ('el', 'Greek'),
4466 ('en', 'English'),
4467 ('en-au', 'Australian English'),
4468 ('en-gb', 'British English'),
4469 ('eo', 'Esperanto'),
4470 ('es', 'Spanish'),
4471 ('es-ar', 'Argentinian Spanish'),
4472 ('es-co', 'Colombian Spanish'),
4473 ('es-mx', 'Mexican Spanish'),
4474 ('es-ni', 'Nicaraguan Spanish'),
4475 ('es-ve', 'Venezuelan Spanish'),
4476 ('et', 'Estonian'),
4477 ('eu', 'Basque'),
4478 ('fa', 'Persian'),
4479 ('fi', 'Finnish'),
4480 ('fr', 'French'),
4481 ('fy', 'Frisian'),
4482 ('ga', 'Irish'),
4483 ('gd', 'Scottish Gaelic'),
4484 ('gl', 'Galician'),
4485 ('he', 'Hebrew'),
4486 ('hi', 'Hindi'),
4487 ('hr', 'Croatian'),
4488 ('hsb', 'Upper Sorbian'),
4489 ('hu', 'Hungarian'),
4490 ('hy', 'Armenian'),
4491 ('ia', 'Interlingua'),
4492 ('id', 'Indonesian'),
4493 ('ig', 'Igbo'),
4494 ('io', 'Ido'),
4495 ('is', 'Icelandic'),
4496 ('it', 'Italian'),
4497 ('ja', 'Japanese'),
4498 ('ka', 'Georgian'),
4499 ('kab', 'Kabyle'),
4500 ('kk', 'Kazakh'),
4501 ('km', 'Khmer'),
4502 ('kn', 'Kannada'),
4503 ('ko', 'Korean'),
4504 ('ky', 'Kyrgyz'),
4505 ('lb', 'Luxembourgish'),
4506 ('lt', 'Lithuanian'),
4507 ('lv', 'Latvian'),
4508 ('mk', 'Macedonian'),
4509 ('ml', 'Malayalam'),
4510 ('mn', 'Mongolian'),
4511 ('mr', 'Marathi'),
4512 ('my', 'Burmese'),
4513 ('nb', 'Norwegian Bokmål'),
4514 ('ne', 'Nepali'),
4515 ('nl', 'Dutch'),
4516 ('nn', 'Norwegian Nynorsk'),
4517 ('os', 'Ossetic'),
4518 ('pa', 'Punjabi'),
4519 ('pl', 'Polish'),
4520 ('pt', 'Portuguese'),
4521 ('pt-br', 'Brazilian Portuguese'),
4522 ('ro', 'Romanian'),
4523 ('ru', 'Russian'),
4524 ('sk', 'Slovak'),
4525 ('sl', 'Slovenian'),
4526 ('sq', 'Albanian'),
4527 ('sr', 'Serbian'),
4528 ('sr-latn', 'Serbian Latin'),
4529 ('sv', 'Swedish'),
4530 ('sw', 'Swahili'),
4531 ('ta', 'Tamil'),
4532 ('te', 'Telugu'),
4533 ('tg', 'Tajik'),
4534 ('th', 'Thai'),
4535 ('tk', 'Turkmen'),
4536 ('tr', 'Turkish'),
4537 ('tt', 'Tatar'),
4538 ('udm', 'Udmurt'),
4539 ('uk', 'Ukrainian'),
4540 ('ur', 'Urdu'),
4541 ('uz', 'Uzbek'),
4542 ('vi', 'Vietnamese'),
4543 ('zh-hans', 'Simplified Chinese'),
4544 ('zh-hant', 'Traditional Chinese')]</pre></td>
4545 </tr>
4546
4547 <tr>
4548 <td>LANGUAGES_BIDI</td>
4549 <td class="code"><pre>['he', 'ar', 'ar-dz', 'fa', 'ur']</pre></td>
4550 </tr>
4551
4552 <tr>
4553 <td>LANGUAGE_CODE</td>
4554 <td class="code"><pre>'en-us'</pre></td>
4555 </tr>
4556
4557 <tr>
4558 <td>LANGUAGE_COOKIE_AGE</td>
4559 <td class="code"><pre>None</pre></td>
4560 </tr>
4561
4562 <tr>
4563 <td>LANGUAGE_COOKIE_DOMAIN</td>
4564 <td class="code"><pre>None</pre></td>
4565 </tr>
4566
4567 <tr>
4568 <td>LANGUAGE_COOKIE_HTTPONLY</td>
4569 <td class="code"><pre>False</pre></td>
4570 </tr>
4571
4572 <tr>
4573 <td>LANGUAGE_COOKIE_NAME</td>
4574 <td class="code"><pre>'django_language'</pre></td>
4575 </tr>
4576
4577 <tr>
4578 <td>LANGUAGE_COOKIE_PATH</td>
4579 <td class="code"><pre>'/'</pre></td>
4580 </tr>
4581
4582 <tr>
4583 <td>LANGUAGE_COOKIE_SAMESITE</td>
4584 <td class="code"><pre>None</pre></td>
4585 </tr>
4586
4587 <tr>
4588 <td>LANGUAGE_COOKIE_SECURE</td>
4589 <td class="code"><pre>False</pre></td>
4590 </tr>
4591
4592 <tr>
4593 <td>LOCALE_PATHS</td>
4594 <td class="code"><pre>[]</pre></td>
4595 </tr>
4596
4597 <tr>
4598 <td>LOCAL_APPS</td>
4599 <td class="code"><pre>['manobhavana.apps.account',
4600 'manobhavana.apps.package',
4601 'manobhavana.apps.counsellor',
4602 'manobhavana.apps.chat',
4603 'manobhavana.apps.cms',
4604 'manobhavana.apps.payment',
4605 'manobhavana.apps.patient',
4606 'manobhavana.apps.notification',
4607 'manobhavana.apps.report',
4608 'manobhavana.apps.coupon']</pre></td>
4609 </tr>
4610
4611 <tr>
4612 <td>LOGGING</td>
4613 <td class="code"><pre>{}</pre></td>
4614 </tr>
4615
4616 <tr>
4617 <td>LOGGING_CONFIG</td>
4618 <td class="code"><pre>'logging.config.dictConfig'</pre></td>
4619 </tr>
4620
4621 <tr>
4622 <td>LOGIN_REDIRECT_URL</td>
4623 <td class="code"><pre>'/accounts/profile/'</pre></td>
4624 </tr>
4625
4626 <tr>
4627 <td>LOGIN_URL</td>
4628 <td class="code"><pre>'/accounts/login/'</pre></td>
4629 </tr>
4630
4631 <tr>
4632 <td>LOGOUT_REDIRECT_URL</td>
4633 <td class="code"><pre>None</pre></td>
4634 </tr>
4635
4636 <tr>
4637 <td>MANAGERS</td>
4638 <td class="code"><pre>[]</pre></td>
4639 </tr>
4640
4641 <tr>
4642 <td>MEDIA_ROOT</td>
4643 <td class="code"><pre>'/home/ubuntu/pdl_backend/manobhavana/media'</pre></td>
4644 </tr>
4645
4646 <tr>
4647 <td>MEDIA_URL</td>
4648 <td class="code"><pre>'/media/'</pre></td>
4649 </tr>
4650
4651 <tr>
4652 <td>MESSAGE_STORAGE</td>
4653 <td class="code"><pre>'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
4654 </tr>
4655
4656 <tr>
4657 <td>MIDDLEWARE</td>
4658 <td class="code"><pre>['django.middleware.security.SecurityMiddleware',
4659 'django.contrib.sessions.middleware.SessionMiddleware',
4660 'corsheaders.middleware.CorsMiddleware',
4661 'django.middleware.common.CommonMiddleware',
4662 'django.middleware.csrf.CsrfViewMiddleware',
4663 'django.contrib.auth.middleware.AuthenticationMiddleware',
4664 'django.contrib.messages.middleware.MessageMiddleware',
4665 'django.middleware.clickjacking.XFrameOptionsMiddleware',
4666 'manobhavana.utils.middleware.ThreadLocalMiddleware']</pre></td>
4667 </tr>
4668
4669 <tr>
4670 <td>MIGRATION_MODULES</td>
4671 <td class="code"><pre>{}</pre></td>
4672 </tr>
4673
4674 <tr>
4675 <td>MONTH_DAY_FORMAT</td>
4676 <td class="code"><pre>'F j'</pre></td>
4677 </tr>
4678
4679 <tr>
4680 <td>NUMBER_GROUPING</td>
4681 <td class="code"><pre>0</pre></td>
4682 </tr>
4683
4684 <tr>
4685 <td>PACKAGE_VAT</td>
4686 <td class="code"><pre>13</pre></td>
4687 </tr>
4688
4689 <tr>
4690 <td>PASSWORD_HASHERS</td>
4691 <td class="code"><pre>'********************'</pre></td>
4692 </tr>
4693
4694 <tr>
4695 <td>PASSWORD_RESET_TIMEOUT</td>
4696 <td class="code"><pre>'********************'</pre></td>
4697 </tr>
4698
4699 <tr>
4700 <td>PASSWORD_RESET_TIMEOUT_DAYS</td>
4701 <td class="code"><pre>'********************'</pre></td>
4702 </tr>
4703
4704 <tr>
4705 <td>PREPEND_WWW</td>
4706 <td class="code"><pre>False</pre></td>
4707 </tr>
4708
4709 <tr>
4710 <td>REST_FRAMEWORK</td>
4711 <td class="code"><pre>{'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework.authentication.BasicAuthentication',
4712 'rest_framework_simplejwt.authentication.JWTAuthentication'),
4713 'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',)}</pre></td>
4714 </tr>
4715
4716 <tr>
4717 <td>ROOT_DIR</td>
4718 <td class="code"><pre><Path:/home/ubuntu/pdl_backend></pre></td>
4719 </tr>
4720
4721 <tr>
4722 <td>ROOT_URLCONF</td>
4723 <td class="code"><pre>'manobhavana.core.urls'</pre></td>
4724 </tr>
4725
4726 <tr>
4727 <td>SECRET_KEY</td>
4728 <td class="code"><pre>'********************'</pre></td>
4729 </tr>
4730
4731 <tr>
4732 <td>SECURE_BROWSER_XSS_FILTER</td>
4733 <td class="code"><pre>True</pre></td>
4734 </tr>
4735
4736 <tr>
4737 <td>SECURE_CONTENT_TYPE_NOSNIFF</td>
4738 <td class="code"><pre>True</pre></td>
4739 </tr>
4740
4741 <tr>
4742 <td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
4743 <td class="code"><pre>True</pre></td>
4744 </tr>
4745
4746 <tr>
4747 <td>SECURE_HSTS_PRELOAD</td>
4748 <td class="code"><pre>False</pre></td>
4749 </tr>
4750
4751 <tr>
4752 <td>SECURE_HSTS_SECONDS</td>
4753 <td class="code"><pre>31536000</pre></td>
4754 </tr>
4755
4756 <tr>
4757 <td>SECURE_PROXY_SSL_HEADER</td>
4758 <td class="code"><pre>('HTTP_X_FORWARDED_PROTO', 'https')</pre></td>
4759 </tr>
4760
4761 <tr>
4762 <td>SECURE_REDIRECT_EXEMPT</td>
4763 <td class="code"><pre>[]</pre></td>
4764 </tr>
4765
4766 <tr>
4767 <td>SECURE_REFERRER_POLICY</td>
4768 <td class="code"><pre>'same-origin'</pre></td>
4769 </tr>
4770
4771 <tr>
4772 <td>SECURE_SSL_HOST</td>
4773 <td class="code"><pre>None</pre></td>
4774 </tr>
4775
4776 <tr>
4777 <td>SECURE_SSL_REDIRECT</td>
4778 <td class="code"><pre>True</pre></td>
4779 </tr>
4780
4781 <tr>
4782 <td>SERVER_EMAIL</td>
4783 <td class="code"><pre>'root@localhost'</pre></td>
4784 </tr>
4785
4786 <tr>
4787 <td>SESSION_CACHE_ALIAS</td>
4788 <td class="code"><pre>'default'</pre></td>
4789 </tr>
4790
4791 <tr>
4792 <td>SESSION_COOKIE_AGE</td>
4793 <td class="code"><pre>1209600</pre></td>
4794 </tr>
4795
4796 <tr>
4797 <td>SESSION_COOKIE_DOMAIN</td>
4798 <td class="code"><pre>None</pre></td>
4799 </tr>
4800
4801 <tr>
4802 <td>SESSION_COOKIE_HTTPONLY</td>
4803 <td class="code"><pre>True</pre></td>
4804 </tr>
4805
4806 <tr>
4807 <td>SESSION_COOKIE_NAME</td>
4808 <td class="code"><pre>'sessionid'</pre></td>
4809 </tr>
4810
4811 <tr>
4812 <td>SESSION_COOKIE_PATH</td>
4813 <td class="code"><pre>'/'</pre></td>
4814 </tr>
4815
4816 <tr>
4817 <td>SESSION_COOKIE_SAMESITE</td>
4818 <td class="code"><pre>'Lax'</pre></td>
4819 </tr>
4820
4821 <tr>
4822 <td>SESSION_COOKIE_SECURE</td>
4823 <td class="code"><pre>True</pre></td>
4824 </tr>
4825
4826 <tr>
4827 <td>SESSION_ENGINE</td>
4828 <td class="code"><pre>'django.contrib.sessions.backends.db'</pre></td>
4829 </tr>
4830
4831 <tr>
4832 <td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
4833 <td class="code"><pre>False</pre></td>
4834 </tr>
4835
4836 <tr>
4837 <td>SESSION_FILE_PATH</td>
4838 <td class="code"><pre>None</pre></td>
4839 </tr>
4840
4841 <tr>
4842 <td>SESSION_SAVE_EVERY_REQUEST</td>
4843 <td class="code"><pre>False</pre></td>
4844 </tr>
4845
4846 <tr>
4847 <td>SESSION_SERIALIZER</td>
4848 <td class="code"><pre>'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
4849 </tr>
4850
4851 <tr>
4852 <td>SETTINGS_MODULE</td>
4853 <td class="code"><pre>'manobhavana.settings.pro'</pre></td>
4854 </tr>
4855
4856 <tr>
4857 <td>SHORT_DATETIME_FORMAT</td>
4858 <td class="code"><pre>'m/d/Y P'</pre></td>
4859 </tr>
4860
4861 <tr>
4862 <td>SHORT_DATE_FORMAT</td>
4863 <td class="code"><pre>'m/d/Y'</pre></td>
4864 </tr>
4865
4866 <tr>
4867 <td>SIGNING_BACKEND</td>
4868 <td class="code"><pre>'django.core.signing.TimestampSigner'</pre></td>
4869 </tr>
4870
4871 <tr>
4872 <td>SILENCED_SYSTEM_CHECKS</td>
4873 <td class="code"><pre>[]</pre></td>
4874 </tr>
4875
4876 <tr>
4877 <td>SIMPLE_JWT</td>
4878 <td class="code"><pre>{'ACCESS_TOKEN_LIFETIME': '********************',
4879 'ALGORITHM': 'HS256',
4880 'AUTH_HEADER_TYPES': ('Bearer',),
4881 'BLACKLIST_AFTER_ROTATION': True,
4882 'REFRESH_TOKEN_LIFETIME': '********************',
4883 'ROTATE_REFRESH_TOKENS': '********************'}</pre></td>
4884 </tr>
4885
4886 <tr>
4887 <td>SITE_ID</td>
4888 <td class="code"><pre>1</pre></td>
4889 </tr>
4890
4891 <tr>
4892 <td>SOCIAL_SECRET</td>
4893 <td class="code"><pre>'********************'</pre></td>
4894 </tr>
4895
4896 <tr>
4897 <td>STATICFILES_DIRS</td>
4898 <td class="code"><pre>['/home/ubuntu/pdl_backend/manobhavana/static']</pre></td>
4899 </tr>
4900
4901 <tr>
4902 <td>STATICFILES_FINDERS</td>
4903 <td class="code"><pre>['django.contrib.staticfiles.finders.FileSystemFinder',
4904 'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
4905 </tr>
4906
4907 <tr>
4908 <td>STATICFILES_STORAGE</td>
4909 <td class="code"><pre>'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
4910 </tr>
4911
4912 <tr>
4913 <td>STATIC_ROOT</td>
4914 <td class="code"><pre>'/home/ubuntu/pdl_backend/manobhavana/staticfiles'</pre></td>
4915 </tr>
4916
4917 <tr>
4918 <td>STATIC_URL</td>
4919 <td class="code"><pre>'/static/'</pre></td>
4920 </tr>
4921
4922 <tr>
4923 <td>TEMPLATES</td>
4924 <td class="code"><pre>[{'APP_DIRS': True,
4925 'BACKEND': 'django.template.backends.django.DjangoTemplates',
4926 'DIRS': ['/home/ubuntu/pdl_backend/manobhavana/templates'],
4927 'OPTIONS': {'context_processors': ['django.template.context_processors.debug',
4928 'django.template.context_processors.request',
4929 'django.contrib.auth.context_processors.auth',
4930 'django.contrib.messages.context_processors.messages',
4931 'manobhavana.utils.contexts.manobhavana_context_processor']}}]</pre></td>
4932 </tr>
4933
4934 <tr>
4935 <td>TEST_NON_SERIALIZED_APPS</td>
4936 <td class="code"><pre>[]</pre></td>
4937 </tr>
4938
4939 <tr>
4940 <td>TEST_RUNNER</td>
4941 <td class="code"><pre>'django.test.runner.DiscoverRunner'</pre></td>
4942 </tr>
4943
4944 <tr>
4945 <td>THOUSAND_SEPARATOR</td>
4946 <td class="code"><pre>','</pre></td>
4947 </tr>
4948
4949 <tr>
4950 <td>TIME_FORMAT</td>
4951 <td class="code"><pre>'P'</pre></td>
4952 </tr>
4953
4954 <tr>
4955 <td>TIME_INPUT_FORMATS</td>
4956 <td class="code"><pre>['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']</pre></td>
4957 </tr>
4958
4959 <tr>
4960 <td>TIME_ZONE</td>
4961 <td class="code"><pre>'Asia/Kathmandu'</pre></td>
4962 </tr>
4963
4964 <tr>
4965 <td>USE_I18N</td>
4966 <td class="code"><pre>True</pre></td>
4967 </tr>
4968
4969 <tr>
4970 <td>USE_L10N</td>
4971 <td class="code"><pre>True</pre></td>
4972 </tr>
4973
4974 <tr>
4975 <td>USE_THOUSAND_SEPARATOR</td>
4976 <td class="code"><pre>False</pre></td>
4977 </tr>
4978
4979 <tr>
4980 <td>USE_TZ</td>
4981 <td class="code"><pre>True</pre></td>
4982 </tr>
4983
4984 <tr>
4985 <td>USE_X_FORWARDED_HOST</td>
4986 <td class="code"><pre>False</pre></td>
4987 </tr>
4988
4989 <tr>
4990 <td>USE_X_FORWARDED_PORT</td>
4991 <td class="code"><pre>False</pre></td>
4992 </tr>
4993
4994 <tr>
4995 <td>WSGI_APPLICATION</td>
4996 <td class="code"><pre>'manobhavana.core.wsgi.application'</pre></td>
4997 </tr>
4998
4999 <tr>
5000 <td>X_FRAME_OPTIONS</td>
5001 <td class="code"><pre>'DENY'</pre></td>
5002 </tr>
5003
5004 <tr>
5005 <td>YEAR_MONTH_FORMAT</td>
5006 <td class="code"><pre>'F Y'</pre></td>
5007 </tr>
5008
5009 </tbody>
5010 </table>
5011
5012</div>
5013
5014 <div id="explanation">
5015 <p>
5016 You’re seeing this error because you have <code>DEBUG = True</code> in your
5017 Django settings file. Change that to <code>False</code>, and Django will
5018 display a standard page generated by the handler for this status code.
5019 </p>
5020 </div>
5021
5022
5023</body><grammarly-desktop-integration data-grammarly-shadow-root="true"></grammarly-desktop-integration></html>