add new apis
This commit is contained in:
@@ -0,0 +1,40 @@
|
|||||||
|
# Generated by Django 5.2.4 on 2025-08-14 13:29
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('projects', '0015_estimateproduct_estimate_work'),
|
||||||
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='estimatework',
|
||||||
|
name='employee',
|
||||||
|
field=models.ManyToManyField(blank=True, related_name='estimate_work', to=settings.AUTH_USER_MODEL),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='estimatework',
|
||||||
|
name='end_date',
|
||||||
|
field=models.DateField(blank=True, null=True),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='estimatework',
|
||||||
|
name='percentage',
|
||||||
|
field=models.PositiveSmallIntegerField(blank=True, db_default=0, null=True),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='estimatework',
|
||||||
|
name='start_date',
|
||||||
|
field=models.DateField(blank=True, null=True),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='estimatework',
|
||||||
|
name='status',
|
||||||
|
field=models.CharField(choices=[('OPEN', 'ochiq'), ('IN_PROGRESS', 'bajarilmoqda'), ('DONE', 'bajarildi')], default='ochiq', max_length=20),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -4,6 +4,7 @@ from django.utils.translation import gettext_lazy as _
|
|||||||
from core.apps.shared.models import BaseModel
|
from core.apps.shared.models import BaseModel
|
||||||
from core.apps.projects.models import Project
|
from core.apps.projects.models import Project
|
||||||
from core.apps.products.models import Unity, Product
|
from core.apps.products.models import Unity, Product
|
||||||
|
from core.apps.accounts.models import User
|
||||||
|
|
||||||
|
|
||||||
class ProjectEstimate(BaseModel):
|
class ProjectEstimate(BaseModel):
|
||||||
@@ -19,6 +20,12 @@ class ProjectEstimate(BaseModel):
|
|||||||
|
|
||||||
|
|
||||||
class EstimateWork(BaseModel):
|
class EstimateWork(BaseModel):
|
||||||
|
STATUS = (
|
||||||
|
('OPEN', 'ochiq'),
|
||||||
|
('IN_PROGRESS', 'bajarilmoqda'),
|
||||||
|
('DONE', 'bajarildi'),
|
||||||
|
)
|
||||||
|
|
||||||
number = models.PositiveIntegerField(default=1)
|
number = models.PositiveIntegerField(default=1)
|
||||||
name = models.CharField(max_length=200)
|
name = models.CharField(max_length=200)
|
||||||
quantity = models.PositiveIntegerField(default=1)
|
quantity = models.PositiveIntegerField(default=1)
|
||||||
@@ -32,6 +39,12 @@ class EstimateWork(BaseModel):
|
|||||||
date = models.DateField(null=True, blank=True)
|
date = models.DateField(null=True, blank=True)
|
||||||
total_price = models.PositiveBigIntegerField(default=0)
|
total_price = models.PositiveBigIntegerField(default=0)
|
||||||
|
|
||||||
|
status = models.CharField(choices=STATUS, max_length=20, default='ochiq')
|
||||||
|
start_date = models.DateField(null=True, blank=True)
|
||||||
|
end_date = models.DateField(null=True, blank=True)
|
||||||
|
employee = models.ManyToManyField(User, related_name='estimate_work', blank=True)
|
||||||
|
percentage = models.PositiveSmallIntegerField(db_default=0, null=True, blank=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f"{self.number}.{self.name}"
|
return f"{self.number}.{self.name}"
|
||||||
|
|
||||||
|
|||||||
@@ -66,16 +66,21 @@ class EstimateWorkUpdateSerializer(serializers.ModelSerializer):
|
|||||||
class Meta:
|
class Meta:
|
||||||
model = EstimateWork
|
model = EstimateWork
|
||||||
fields = [
|
fields = [
|
||||||
'name', 'quantity', 'price', 'unity', 'date', 'total_price',
|
'name', 'quantity', 'price', 'unity', 'date', 'total_price', 'employee', 'status',
|
||||||
|
'start_date', 'end_date'
|
||||||
]
|
]
|
||||||
|
|
||||||
def update(self, instance, validated_data):
|
def update(self, instance, validated_data):
|
||||||
|
employee_ids = validated_data.pop('employee', [])
|
||||||
instance.name = validated_data.get('name', instance.name)
|
instance.name = validated_data.get('name', instance.name)
|
||||||
instance.quantity = validated_data.get('quantity', instance.quantity)
|
instance.quantity = validated_data.get('quantity', instance.quantity)
|
||||||
instance.price = validated_data.get('price', instance.price)
|
instance.price = validated_data.get('price', instance.price)
|
||||||
instance.unity = validated_data.get('unity', instance.unity)
|
instance.unity = validated_data.get('unity', instance.unity)
|
||||||
instance.date = validated_data.get('date', instance.date)
|
instance.date = validated_data.get('date', instance.date)
|
||||||
instance.total_price = validated_data.get('total_price', instance.total_price)
|
instance.total_price = validated_data.get('total_price', instance.total_price)
|
||||||
|
instance.status = validated_data.get('status', instance.status)
|
||||||
|
instance.start_date = validated_data.get('start_date', instance.start_date)
|
||||||
|
instance.end_date = validated_data.get('end_date', instance.end_date)
|
||||||
|
instance.employee.set(employee_ids)
|
||||||
instance.save()
|
instance.save()
|
||||||
return instance
|
return instance
|
||||||
|
|
||||||
|
|||||||
@@ -1,23 +1,13 @@
|
|||||||
FROM python:3.12
|
FROM python:3.13-alpine
|
||||||
|
|
||||||
|
ENV PYTHONPYCACHEPREFIX=/dev/null
|
||||||
|
|
||||||
|
RUN apk update && apk add git gettext
|
||||||
|
|
||||||
WORKDIR /code
|
WORKDIR /code
|
||||||
|
|
||||||
RUN apt-get update && \
|
COPY requirements.txt /code/requirements.txt
|
||||||
apt-get install -y \
|
|
||||||
gdal-bin \
|
|
||||||
libgdal-dev \
|
|
||||||
python3-gdal \
|
|
||||||
libgeos-dev \
|
|
||||||
libproj-dev \
|
|
||||||
g++ \
|
|
||||||
make \
|
|
||||||
wkhtmltopdf && \
|
|
||||||
apt-get clean && \
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
RUN gdalinfo --version
|
RUN --mount=type=cache,target=/root/.cache/pip pip install -r requirements.txt
|
||||||
|
|
||||||
COPY ./ /code
|
CMD ["sh", "./entrypoint.sh"]
|
||||||
RUN --mount=type=cache,target=/root/.cache/pip python3 -m pip install -r requirements.txt
|
|
||||||
|
|
||||||
CMD ["sh", "./resources/scripts/entrypoint.sh"]
|
|
||||||
@@ -1,476 +0,0 @@
|
|||||||
WARNING 2025-08-06 13:53:34,415 log Forbidden: /swagger/
|
|
||||||
WARNING 2025-08-06 13:53:35,375 log Forbidden: /swagger/
|
|
||||||
WARNING 2025-08-06 13:53:35,490 log Not Found: /favicon.ico
|
|
||||||
WARNING 2025-08-06 13:53:37,037 log Forbidden: /swagger/
|
|
||||||
WARNING 2025-08-06 13:53:52,107 log Forbidden: /swagger/
|
|
||||||
WARNING 2025-08-06 13:53:52,970 log Forbidden: /swagger/
|
|
||||||
WARNING 2025-08-06 13:53:53,576 log Forbidden: /swagger/
|
|
||||||
WARNING 2025-08-06 13:53:54,141 log Forbidden: /swagger/
|
|
||||||
WARNING 2025-08-06 13:53:54,340 log Forbidden: /swagger/
|
|
||||||
WARNING 2025-08-06 13:53:54,525 log Forbidden: /swagger/
|
|
||||||
WARNING 2025-08-06 13:53:54,703 log Forbidden: /swagger/
|
|
||||||
WARNING 2025-08-06 13:53:54,872 log Forbidden: /swagger/
|
|
||||||
WARNING 2025-08-06 13:53:55,036 log Forbidden: /swagger/
|
|
||||||
WARNING 2025-08-06 13:54:00,921 log Forbidden: /swagger/
|
|
||||||
ERROR 2025-08-06 13:54:17,281 log Internal Server Error: /api/v1/accounts/auth/login/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
||||||
response = await wrapped_callback(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
||||||
return view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 105, in view
|
|
||||||
return self.dispatch(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
||||||
response = self.handle_exception(exc)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
||||||
self.raise_uncaught_exception(exc)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
||||||
raise exc
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
||||||
response = handler(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/code/core/apps/accounts/views/login.py", line 21, in post
|
|
||||||
'role': user.role.name,
|
|
||||||
^^^^^^^^^^^^^^
|
|
||||||
AttributeError: 'NoneType' object has no attribute 'name'
|
|
||||||
ERROR 2025-08-06 13:54:59,401 log Internal Server Error: /api/v1/accounts/auth/login/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
||||||
response = await wrapped_callback(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
||||||
return view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 105, in view
|
|
||||||
return self.dispatch(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
||||||
response = self.handle_exception(exc)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
||||||
self.raise_uncaught_exception(exc)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
||||||
raise exc
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
||||||
response = handler(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/code/core/apps/accounts/views/login.py", line 22, in post
|
|
||||||
'permissions': user.role.permissions.values_list('code', flat=True),
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
AttributeError: 'NoneType' object has no attribute 'permissions'
|
|
||||||
WARNING 2025-08-06 13:55:28,281 log Forbidden: /api/v1/accounts/user/profile/
|
|
||||||
WARNING 2025-08-06 13:55:55,325 log Forbidden: /api/v1/accounts/user/profile/
|
|
||||||
WARNING 2025-08-06 13:55:56,107 log Forbidden: /api/v1/accounts/user/profile/
|
|
||||||
WARNING 2025-08-06 13:56:17,034 log Forbidden: /api/v1/accounts/user/profile/
|
|
||||||
WARNING 2025-08-06 13:56:38,553 log Forbidden: /api/v1/accounts/user/profile/
|
|
||||||
WARNING 2025-08-06 13:56:39,250 log Forbidden: /api/v1/accounts/user/profile/
|
|
||||||
WARNING 2025-08-06 13:56:39,957 log Forbidden: /api/v1/accounts/user/profile/
|
|
||||||
WARNING 2025-08-06 13:56:53,859 log Forbidden: /api/v1/accounts/user/profile/
|
|
||||||
WARNING 2025-08-06 13:56:54,573 log Forbidden: /api/v1/accounts/user/profile/
|
|
||||||
WARNING 2025-08-06 13:56:54,890 log Forbidden: /api/v1/accounts/user/profile/
|
|
||||||
WARNING 2025-08-06 13:56:55,082 log Forbidden: /api/v1/accounts/user/profile/
|
|
||||||
WARNING 2025-08-06 13:56:55,248 log Forbidden: /api/v1/accounts/user/profile/
|
|
||||||
WARNING 2025-08-06 13:56:55,455 log Forbidden: /api/v1/accounts/user/profile/
|
|
||||||
WARNING 2025-08-06 13:56:56,637 log Forbidden: /api/v1/accounts/user/profile/
|
|
||||||
WARNING 2025-08-06 13:57:07,161 log Forbidden: /api/v1/accounts/user/profile/
|
|
||||||
WARNING 2025-08-06 13:57:18,692 log Forbidden: /api/v1/accounts/user/profile/
|
|
||||||
WARNING 2025-08-06 13:59:19,740 log Unauthorized: /api/v1/accounts/user/profile/
|
|
||||||
WARNING 2025-08-06 13:59:20,748 log Unauthorized: /api/v1/accounts/user/profile/
|
|
||||||
WARNING 2025-08-06 14:35:29,759 log Forbidden (Origin checking failed - http://localhost:8001 does not match any trusted origins.): /admin/login/
|
|
||||||
WARNING 2025-08-06 14:35:29,886 log Not Found: /favicon.ico
|
|
||||||
WARNING 2025-08-06 14:35:32,731 log Forbidden (Origin checking failed - http://localhost:8001 does not match any trusted origins.): /admin/login/
|
|
||||||
WARNING 2025-08-06 14:59:28,476 log Unauthorized: /api/v1/accounts/user/profile/
|
|
||||||
WARNING 2025-08-06 15:21:23,312 log Unauthorized: /api/v1/accounts/role/list/
|
|
||||||
WARNING 2025-08-06 15:21:51,454 log Unauthorized: /api/v1/accounts/role/list/
|
|
||||||
WARNING 2025-08-06 15:22:15,049 log Forbidden: /api/v1/accounts/role/list/
|
|
||||||
WARNING 2025-08-06 15:22:17,204 log Forbidden: /api/v1/accounts/role/list/
|
|
||||||
WARNING 2025-08-06 15:22:17,665 log Forbidden: /api/v1/accounts/role/list/
|
|
||||||
WARNING 2025-08-06 15:22:17,812 log Forbidden: /api/v1/accounts/role/list/
|
|
||||||
WARNING 2025-08-06 15:22:17,975 log Forbidden: /api/v1/accounts/role/list/
|
|
||||||
WARNING 2025-08-06 15:22:18,145 log Forbidden: /api/v1/accounts/role/list/
|
|
||||||
WARNING 2025-08-06 15:22:18,294 log Forbidden: /api/v1/accounts/role/list/
|
|
||||||
WARNING 2025-08-06 15:22:18,442 log Forbidden: /api/v1/accounts/role/list/
|
|
||||||
WARNING 2025-08-06 15:22:18,585 log Forbidden: /api/v1/accounts/role/list/
|
|
||||||
WARNING 2025-08-06 15:22:38,868 log Forbidden: /api/v1/accounts/role/list/
|
|
||||||
WARNING 2025-08-06 15:23:44,301 log Bad Request: /api/v1/accounts/user/create/
|
|
||||||
WARNING 2025-08-06 15:25:28,717 log Bad Request: /api/v1/accounts/user/create/
|
|
||||||
WARNING 2025-08-06 15:25:42,545 log Bad Request: /api/v1/accounts/user/create/
|
|
||||||
ERROR 2025-08-06 15:26:11,525 log Internal Server Error: /api/v1/accounts/user/create/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 105, in _execute
|
|
||||||
return self.cursor.execute(sql, params)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "accounts_user_username_key"
|
|
||||||
DETAIL: Key (username)=(behruz-dev) already exists.
|
|
||||||
|
|
||||||
|
|
||||||
The above exception was the direct cause of the following exception:
|
|
||||||
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
||||||
response = await wrapped_callback(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
||||||
return view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 105, in view
|
|
||||||
return self.dispatch(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
||||||
response = self.handle_exception(exc)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
||||||
self.raise_uncaught_exception(exc)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
||||||
raise exc
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
||||||
response = handler(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/code/core/apps/accounts/views/user.py", line 64, in post
|
|
||||||
serializer.save()
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 210, in save
|
|
||||||
self.instance = self.create(validated_data)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/code/core/apps/accounts/serializers/user.py", line 53, in create
|
|
||||||
user = User.objects.create(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/manager.py", line 87, in manager_method
|
|
||||||
return getattr(self.get_queryset(), name)(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/query.py", line 663, in create
|
|
||||||
obj.save(force_insert=True, using=self.db)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/auth/base_user.py", line 65, in save
|
|
||||||
super().save(*args, **kwargs)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/base.py", line 902, in save
|
|
||||||
self.save_base(
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/base.py", line 1008, in save_base
|
|
||||||
updated = self._save_table(
|
|
||||||
^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/base.py", line 1169, in _save_table
|
|
||||||
results = self._do_insert(
|
|
||||||
^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/base.py", line 1210, in _do_insert
|
|
||||||
return manager._insert(
|
|
||||||
^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/manager.py", line 87, in manager_method
|
|
||||||
return getattr(self.get_queryset(), name)(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/query.py", line 1868, in _insert
|
|
||||||
return query.get_compiler(using=using).execute_sql(returning_fields)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/compiler.py", line 1882, in execute_sql
|
|
||||||
cursor.execute(sql, params)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 122, in execute
|
|
||||||
return super().execute(sql, params)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/cacheops/transaction.py", line 98, in execute
|
|
||||||
result = self._no_monkey.execute(self, sql, params)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 79, in execute
|
|
||||||
return self._execute_with_wrappers(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 92, in _execute_with_wrappers
|
|
||||||
return executor(sql, params, many, context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 100, in _execute
|
|
||||||
with self.db.wrap_database_errors:
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/utils.py", line 91, in __exit__
|
|
||||||
raise dj_exc_value.with_traceback(traceback) from exc_value
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 105, in _execute
|
|
||||||
return self.cursor.execute(sql, params)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
django.db.utils.IntegrityError: duplicate key value violates unique constraint "accounts_user_username_key"
|
|
||||||
DETAIL: Key (username)=(behruz-dev) already exists.
|
|
||||||
|
|
||||||
WARNING 2025-08-06 15:26:54,364 log Bad Request: /api/v1/accounts/user/create/
|
|
||||||
WARNING 2025-08-06 15:26:55,258 log Bad Request: /api/v1/accounts/user/create/
|
|
||||||
WARNING 2025-08-06 16:29:39,278 log Unauthorized: /api/v1/accounts/permission/list/
|
|
||||||
WARNING 2025-08-06 16:30:00,966 log Unauthorized: /api/v1/accounts/permission/list/
|
|
||||||
ERROR 2025-08-06 16:38:41,912 log Internal Server Error: /api/v1/accounts/user/permissions/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
||||||
response = await wrapped_callback(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
||||||
return view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 105, in view
|
|
||||||
return self.dispatch(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
||||||
response = self.handle_exception(exc)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
||||||
self.raise_uncaught_exception(exc)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
||||||
raise exc
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
||||||
response = handler(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/code/core/apps/accounts/views/user.py", line 107, in get
|
|
||||||
permissions = request.user.role.permission
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
AttributeError: 'Role' object has no attribute 'permission'. Did you mean: 'permissions'?
|
|
||||||
ERROR 2025-08-06 16:38:43,419 log Internal Server Error: /api/v1/accounts/user/permissions/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
||||||
response = await wrapped_callback(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
||||||
return view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 105, in view
|
|
||||||
return self.dispatch(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
||||||
response = self.handle_exception(exc)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
||||||
self.raise_uncaught_exception(exc)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
||||||
raise exc
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
||||||
response = handler(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/code/core/apps/accounts/views/user.py", line 107, in get
|
|
||||||
permissions = request.user.role.permission
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
AttributeError: 'Role' object has no attribute 'permission'. Did you mean: 'permissions'?
|
|
||||||
ERROR 2025-08-06 16:40:23,199 log Internal Server Error: /api/v1/accounts/user/permissions/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
||||||
response = await wrapped_callback(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
||||||
return view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 105, in view
|
|
||||||
return self.dispatch(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
||||||
response = self.handle_exception(exc)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
||||||
self.raise_uncaught_exception(exc)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
||||||
raise exc
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
||||||
response = handler(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/code/core/apps/accounts/views/user.py", line 108, in get
|
|
||||||
permission = Permission.objects.filter(roles=request.user)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/manager.py", line 87, in manager_method
|
|
||||||
return getattr(self.get_queryset(), name)(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/query.py", line 1493, in filter
|
|
||||||
return self._filter_or_exclude(False, args, kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/query.py", line 1511, in _filter_or_exclude
|
|
||||||
clone._filter_or_exclude_inplace(negate, args, kwargs)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/query.py", line 1518, in _filter_or_exclude_inplace
|
|
||||||
self._query.add_q(Q(*args, **kwargs))
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1646, in add_q
|
|
||||||
clause, _ = self._add_q(q_object, can_reuse)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1678, in _add_q
|
|
||||||
child_clause, needed_inner = self.build_filter(
|
|
||||||
^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1563, in build_filter
|
|
||||||
self.check_related_objects(join_info.final_field, value, join_info.opts)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1372, in check_related_objects
|
|
||||||
self.check_query_object_type(value, opts, field)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1349, in check_query_object_type
|
|
||||||
raise ValueError(
|
|
||||||
ValueError: Cannot query "admin": Must be "Role" instance.
|
|
||||||
ERROR 2025-08-06 16:40:34,000 log Internal Server Error: /api/v1/accounts/user/permissions/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
||||||
response = await wrapped_callback(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
||||||
return view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 105, in view
|
|
||||||
return self.dispatch(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
||||||
response = self.handle_exception(exc)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
||||||
self.raise_uncaught_exception(exc)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
||||||
raise exc
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
||||||
response = handler(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/code/core/apps/accounts/views/user.py", line 108, in get
|
|
||||||
permission = Permission.objects.filter(roles=request.user.rol)
|
|
||||||
^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/utils/functional.py", line 253, in inner
|
|
||||||
return func(_wrapped, *args)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
AttributeError: 'User' object has no attribute 'rol'. Did you mean: 'role'?
|
|
||||||
ERROR 2025-08-06 16:40:35,208 log Internal Server Error: /api/v1/accounts/user/permissions/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
||||||
response = await wrapped_callback(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
||||||
return view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 105, in view
|
|
||||||
return self.dispatch(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
||||||
response = self.handle_exception(exc)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
||||||
self.raise_uncaught_exception(exc)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
||||||
raise exc
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
||||||
response = handler(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/code/core/apps/accounts/views/user.py", line 108, in get
|
|
||||||
permission = Permission.objects.filter(roles=request.user.rol)
|
|
||||||
^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/utils/functional.py", line 253, in inner
|
|
||||||
return func(_wrapped, *args)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
AttributeError: 'User' object has no attribute 'rol'. Did you mean: 'role'?
|
|
||||||
WARNING 2025-08-06 17:26:00,186 log Forbidden: /api/v1/accounts/permission/list/
|
|
||||||
WARNING 2025-08-06 17:26:42,953 log Forbidden: /api/v1/accounts/permission/list/
|
|
||||||
@@ -1,982 +0,0 @@
|
|||||||
WARNING 2025-08-07 09:58:53,151 log Forbidden: /api/v1/projects/project_folder/list/
|
|
||||||
ERROR 2025-08-07 11:51:37,635 log Internal Server Error: /api/v1/shared/region/list/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
||||||
response = await wrapped_callback(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
||||||
return view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 105, in view
|
|
||||||
return self.dispatch(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
||||||
response = self.handle_exception(exc)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
||||||
self.raise_uncaught_exception(exc)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
||||||
raise exc
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
||||||
response = handler(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/generics.py", line 203, in get
|
|
||||||
return self.list(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/mixins.py", line 40, in list
|
|
||||||
page = self.paginate_queryset(queryset)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/generics.py", line 175, in paginate_queryset
|
|
||||||
return self.paginator.paginate_queryset(queryset, self.request, view=self)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/pagination.py", line 211, in paginate_queryset
|
|
||||||
self.page = paginator.page(page_number)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/paginator.py", line 89, in page
|
|
||||||
number = self.validate_number(number)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/paginator.py", line 70, in validate_number
|
|
||||||
if number > self.num_pages:
|
|
||||||
^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/utils/functional.py", line 47, in __get__
|
|
||||||
res = instance.__dict__[self.name] = self.func(instance)
|
|
||||||
^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/paginator.py", line 116, in num_pages
|
|
||||||
if self.count == 0 and not self.allow_empty_first_page:
|
|
||||||
^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/utils/functional.py", line 47, in __get__
|
|
||||||
res = instance.__dict__[self.name] = self.func(instance)
|
|
||||||
^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/paginator.py", line 110, in count
|
|
||||||
return c()
|
|
||||||
^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/cacheops/query.py", line 271, in count
|
|
||||||
return cached_as(self)(lambda: self._no_monkey.count(self))()
|
|
||||||
^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/cacheops/query.py", line 64, in cached_as
|
|
||||||
qs_keys = [qs._cache_key(prefix=False) for qs in querysets]
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/cacheops/query.py", line 152, in _cache_key
|
|
||||||
sql, params = self.query.get_compiler(self.db).as_sql()
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/compiler.py", line 766, in as_sql
|
|
||||||
extra_select, order_by, group_by = self.pre_sql_setup(
|
|
||||||
^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/compiler.py", line 85, in pre_sql_setup
|
|
||||||
self.setup_query(with_col_aliases=with_col_aliases)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/compiler.py", line 74, in setup_query
|
|
||||||
self.select, self.klass_info, self.annotation_col_map = self.get_select(
|
|
||||||
^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/compiler.py", line 299, in get_select
|
|
||||||
related_klass_infos = self.get_related_selections(select, select_mask)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/compiler.py", line 1396, in get_related_selections
|
|
||||||
raise FieldError(
|
|
||||||
django.core.exceptions.FieldError: Invalid field name(s) given in select_related: 'districts'. Choices are: (none)
|
|
||||||
ERROR 2025-08-07 11:57:37,791 log Internal Server Error: /admin/projects/project/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 105, in _execute
|
|
||||||
return self.cursor.execute(sql, params)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
psycopg2.errors.UndefinedColumn: column projects_project.location_id does not exist
|
|
||||||
LINE 1: ...project"."updated_at", "projects_project"."name", "projects_...
|
|
||||||
^
|
|
||||||
HINT: Perhaps you meant to reference the column "projects_project.location".
|
|
||||||
|
|
||||||
|
|
||||||
The above exception was the direct cause of the following exception:
|
|
||||||
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
||||||
response = await wrapped_callback(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/options.py", line 719, in wrapper
|
|
||||||
return self.admin_site.admin_view(view)(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/utils/decorators.py", line 192, in _view_wrapper
|
|
||||||
result = _process_exception(request, e)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/utils/decorators.py", line 190, in _view_wrapper
|
|
||||||
response = view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/decorators/cache.py", line 80, in _view_wrapper
|
|
||||||
response = view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/sites.py", line 246, in inner
|
|
||||||
return view(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/utils/decorators.py", line 48, in _wrapper
|
|
||||||
return bound_method(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/utils/decorators.py", line 192, in _view_wrapper
|
|
||||||
result = _process_exception(request, e)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/utils/decorators.py", line 190, in _view_wrapper
|
|
||||||
response = view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/options.py", line 2163, in changelist_view
|
|
||||||
"selection_note": _("0 of %(cnt)s selected") % {"cnt": len(cl.result_list)},
|
|
||||||
^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/query.py", line 366, in __len__
|
|
||||||
self._fetch_all()
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/cacheops/query.py", line 250, in _fetch_all
|
|
||||||
return self._no_monkey._fetch_all(self)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/query.py", line 1949, in _fetch_all
|
|
||||||
self._result_cache = list(self._iterable_class(self))
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/query.py", line 91, in __iter__
|
|
||||||
results = compiler.execute_sql(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/compiler.py", line 1623, in execute_sql
|
|
||||||
cursor.execute(sql, params)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 122, in execute
|
|
||||||
return super().execute(sql, params)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/cacheops/transaction.py", line 98, in execute
|
|
||||||
result = self._no_monkey.execute(self, sql, params)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 79, in execute
|
|
||||||
return self._execute_with_wrappers(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 92, in _execute_with_wrappers
|
|
||||||
return executor(sql, params, many, context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 100, in _execute
|
|
||||||
with self.db.wrap_database_errors:
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/utils.py", line 91, in __exit__
|
|
||||||
raise dj_exc_value.with_traceback(traceback) from exc_value
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 105, in _execute
|
|
||||||
return self.cursor.execute(sql, params)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
django.db.utils.ProgrammingError: column projects_project.location_id does not exist
|
|
||||||
LINE 1: ...project"."updated_at", "projects_project"."name", "projects_...
|
|
||||||
^
|
|
||||||
HINT: Perhaps you meant to reference the column "projects_project.location".
|
|
||||||
|
|
||||||
WARNING 2025-08-07 11:57:37,989 log Not Found: /favicon.ico
|
|
||||||
ERROR 2025-08-07 11:59:27,529 log Internal Server Error: /admin/projects/project/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 105, in _execute
|
|
||||||
return self.cursor.execute(sql, params)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
psycopg2.errors.UndefinedColumn: column projects_project.location_id does not exist
|
|
||||||
LINE 1: ...project"."updated_at", "projects_project"."name", "projects_...
|
|
||||||
^
|
|
||||||
HINT: Perhaps you meant to reference the column "projects_project.location".
|
|
||||||
|
|
||||||
|
|
||||||
The above exception was the direct cause of the following exception:
|
|
||||||
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
||||||
response = await wrapped_callback(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/options.py", line 719, in wrapper
|
|
||||||
return self.admin_site.admin_view(view)(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/utils/decorators.py", line 192, in _view_wrapper
|
|
||||||
result = _process_exception(request, e)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/utils/decorators.py", line 190, in _view_wrapper
|
|
||||||
response = view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/decorators/cache.py", line 80, in _view_wrapper
|
|
||||||
response = view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/sites.py", line 246, in inner
|
|
||||||
return view(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/utils/decorators.py", line 48, in _wrapper
|
|
||||||
return bound_method(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/utils/decorators.py", line 192, in _view_wrapper
|
|
||||||
result = _process_exception(request, e)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/utils/decorators.py", line 190, in _view_wrapper
|
|
||||||
response = view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/options.py", line 2163, in changelist_view
|
|
||||||
"selection_note": _("0 of %(cnt)s selected") % {"cnt": len(cl.result_list)},
|
|
||||||
^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/query.py", line 366, in __len__
|
|
||||||
self._fetch_all()
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/cacheops/query.py", line 250, in _fetch_all
|
|
||||||
return self._no_monkey._fetch_all(self)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/query.py", line 1949, in _fetch_all
|
|
||||||
self._result_cache = list(self._iterable_class(self))
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/query.py", line 91, in __iter__
|
|
||||||
results = compiler.execute_sql(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/sql/compiler.py", line 1623, in execute_sql
|
|
||||||
cursor.execute(sql, params)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 122, in execute
|
|
||||||
return super().execute(sql, params)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/cacheops/transaction.py", line 98, in execute
|
|
||||||
result = self._no_monkey.execute(self, sql, params)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 79, in execute
|
|
||||||
return self._execute_with_wrappers(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 92, in _execute_with_wrappers
|
|
||||||
return executor(sql, params, many, context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 100, in _execute
|
|
||||||
with self.db.wrap_database_errors:
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/utils.py", line 91, in __exit__
|
|
||||||
raise dj_exc_value.with_traceback(traceback) from exc_value
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/backends/utils.py", line 105, in _execute
|
|
||||||
return self.cursor.execute(sql, params)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
django.db.utils.ProgrammingError: column projects_project.location_id does not exist
|
|
||||||
LINE 1: ...project"."updated_at", "projects_project"."name", "projects_...
|
|
||||||
^
|
|
||||||
HINT: Perhaps you meant to reference the column "projects_project.location".
|
|
||||||
|
|
||||||
ERROR 2025-08-07 12:05:59,338 log Internal Server Error: /admin/projects/projectlocation/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/options.py", line 683, in get_field
|
|
||||||
return self.fields_map[field_name]
|
|
||||||
~~~~~~~~~~~~~~~^^^^^^^^^^^^
|
|
||||||
KeyError: 'logitude'
|
|
||||||
|
|
||||||
During handling of the above exception, another exception occurred:
|
|
||||||
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/utils.py", line 362, in label_for_field
|
|
||||||
field = _get_non_gfk_field(model._meta, name)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/utils.py", line 330, in _get_non_gfk_field
|
|
||||||
field = opts.get_field(name)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/options.py", line 685, in get_field
|
|
||||||
raise FieldDoesNotExist(
|
|
||||||
django.core.exceptions.FieldDoesNotExist: ProjectLocation has no field named 'logitude'
|
|
||||||
|
|
||||||
During handling of the above exception, another exception occurred:
|
|
||||||
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/options.py", line 683, in get_field
|
|
||||||
return self.fields_map[field_name]
|
|
||||||
~~~~~~~~~~~~~~~^^^^^^^^^^^^
|
|
||||||
KeyError: 'logitude'
|
|
||||||
|
|
||||||
During handling of the above exception, another exception occurred:
|
|
||||||
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/utils.py", line 383, in label_for_field
|
|
||||||
attr = get_fields_from_path(model, name)[-1]
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/utils.py", line 547, in get_fields_from_path
|
|
||||||
fields.append(parent._meta.get_field(piece))
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/options.py", line 685, in get_field
|
|
||||||
raise FieldDoesNotExist(
|
|
||||||
django.core.exceptions.FieldDoesNotExist: ProjectLocation has no field named 'logitude'
|
|
||||||
|
|
||||||
During handling of the above exception, another exception occurred:
|
|
||||||
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 284, in _get_response_async
|
|
||||||
response = await sync_to_async(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/response.py", line 114, in render
|
|
||||||
self.content = self.rendered_content
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/response.py", line 92, in rendered_content
|
|
||||||
return template.render(context, self._request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/backends/django.py", line 107, in render
|
|
||||||
return self.template.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 171, in render
|
|
||||||
return self._render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 163, in _render
|
|
||||||
return self.nodelist.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 1016, in render
|
|
||||||
return SafeString("".join([node.render_annotated(context) for node in self]))
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 977, in render_annotated
|
|
||||||
return self.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py", line 159, in render
|
|
||||||
return compiled_parent._render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 163, in _render
|
|
||||||
return self.nodelist.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 1016, in render
|
|
||||||
return SafeString("".join([node.render_annotated(context) for node in self]))
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 977, in render_annotated
|
|
||||||
return self.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py", line 159, in render
|
|
||||||
return compiled_parent._render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 163, in _render
|
|
||||||
return self.nodelist.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 1016, in render
|
|
||||||
return SafeString("".join([node.render_annotated(context) for node in self]))
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 977, in render_annotated
|
|
||||||
return self.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py", line 65, in render
|
|
||||||
result = block.nodelist.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 1016, in render
|
|
||||||
return SafeString("".join([node.render_annotated(context) for node in self]))
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 977, in render_annotated
|
|
||||||
return self.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py", line 65, in render
|
|
||||||
result = block.nodelist.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 1016, in render
|
|
||||||
return SafeString("".join([node.render_annotated(context) for node in self]))
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 977, in render_annotated
|
|
||||||
return self.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py", line 65, in render
|
|
||||||
result = block.nodelist.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 1016, in render
|
|
||||||
return SafeString("".join([node.render_annotated(context) for node in self]))
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 977, in render_annotated
|
|
||||||
return self.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/templatetags/base.py", line 45, in render
|
|
||||||
return super().render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/library.py", line 359, in render
|
|
||||||
_dict = self.func(*resolved_args, **resolved_kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/templatetags/admin_list.py", line 344, in result_list
|
|
||||||
headers = list(result_headers(cl))
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/templatetags/admin_list.py", line 91, in result_headers
|
|
||||||
text, attr = label_for_field(
|
|
||||||
^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/utils.py", line 390, in label_for_field
|
|
||||||
raise AttributeError(message)
|
|
||||||
AttributeError: Unable to lookup 'logitude' on ProjectLocation or ProjectLocation
|
|
||||||
ERROR 2025-08-07 12:06:03,853 log Internal Server Error: /admin/projects/projectlocation/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/options.py", line 683, in get_field
|
|
||||||
return self.fields_map[field_name]
|
|
||||||
~~~~~~~~~~~~~~~^^^^^^^^^^^^
|
|
||||||
KeyError: 'logitude'
|
|
||||||
|
|
||||||
During handling of the above exception, another exception occurred:
|
|
||||||
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/utils.py", line 362, in label_for_field
|
|
||||||
field = _get_non_gfk_field(model._meta, name)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/utils.py", line 330, in _get_non_gfk_field
|
|
||||||
field = opts.get_field(name)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/options.py", line 685, in get_field
|
|
||||||
raise FieldDoesNotExist(
|
|
||||||
django.core.exceptions.FieldDoesNotExist: ProjectLocation has no field named 'logitude'
|
|
||||||
|
|
||||||
During handling of the above exception, another exception occurred:
|
|
||||||
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/options.py", line 683, in get_field
|
|
||||||
return self.fields_map[field_name]
|
|
||||||
~~~~~~~~~~~~~~~^^^^^^^^^^^^
|
|
||||||
KeyError: 'logitude'
|
|
||||||
|
|
||||||
During handling of the above exception, another exception occurred:
|
|
||||||
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/utils.py", line 383, in label_for_field
|
|
||||||
attr = get_fields_from_path(model, name)[-1]
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/utils.py", line 547, in get_fields_from_path
|
|
||||||
fields.append(parent._meta.get_field(piece))
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/options.py", line 685, in get_field
|
|
||||||
raise FieldDoesNotExist(
|
|
||||||
django.core.exceptions.FieldDoesNotExist: ProjectLocation has no field named 'logitude'
|
|
||||||
|
|
||||||
During handling of the above exception, another exception occurred:
|
|
||||||
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 284, in _get_response_async
|
|
||||||
response = await sync_to_async(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/response.py", line 114, in render
|
|
||||||
self.content = self.rendered_content
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/response.py", line 92, in rendered_content
|
|
||||||
return template.render(context, self._request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/backends/django.py", line 107, in render
|
|
||||||
return self.template.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 171, in render
|
|
||||||
return self._render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 163, in _render
|
|
||||||
return self.nodelist.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 1016, in render
|
|
||||||
return SafeString("".join([node.render_annotated(context) for node in self]))
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 977, in render_annotated
|
|
||||||
return self.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py", line 159, in render
|
|
||||||
return compiled_parent._render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 163, in _render
|
|
||||||
return self.nodelist.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 1016, in render
|
|
||||||
return SafeString("".join([node.render_annotated(context) for node in self]))
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 977, in render_annotated
|
|
||||||
return self.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py", line 159, in render
|
|
||||||
return compiled_parent._render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 163, in _render
|
|
||||||
return self.nodelist.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 1016, in render
|
|
||||||
return SafeString("".join([node.render_annotated(context) for node in self]))
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 977, in render_annotated
|
|
||||||
return self.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py", line 65, in render
|
|
||||||
result = block.nodelist.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 1016, in render
|
|
||||||
return SafeString("".join([node.render_annotated(context) for node in self]))
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 977, in render_annotated
|
|
||||||
return self.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py", line 65, in render
|
|
||||||
result = block.nodelist.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 1016, in render
|
|
||||||
return SafeString("".join([node.render_annotated(context) for node in self]))
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 977, in render_annotated
|
|
||||||
return self.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py", line 65, in render
|
|
||||||
result = block.nodelist.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 1016, in render
|
|
||||||
return SafeString("".join([node.render_annotated(context) for node in self]))
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/base.py", line 977, in render_annotated
|
|
||||||
return self.render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/templatetags/base.py", line 45, in render
|
|
||||||
return super().render(context)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/template/library.py", line 359, in render
|
|
||||||
_dict = self.func(*resolved_args, **resolved_kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/templatetags/admin_list.py", line 344, in result_list
|
|
||||||
headers = list(result_headers(cl))
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/templatetags/admin_list.py", line 91, in result_headers
|
|
||||||
text, attr = label_for_field(
|
|
||||||
^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/contrib/admin/utils.py", line 390, in label_for_field
|
|
||||||
raise AttributeError(message)
|
|
||||||
AttributeError: Unable to lookup 'logitude' on ProjectLocation or ProjectLocation
|
|
||||||
ERROR 2025-08-07 12:15:49,386 log Internal Server Error: /api/v1/projects/project/create/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
||||||
response = await wrapped_callback(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
||||||
return view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 105, in view
|
|
||||||
return self.dispatch(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
||||||
response = self.handle_exception(exc)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
||||||
self.raise_uncaught_exception(exc)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
||||||
raise exc
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
||||||
response = handler(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/generics.py", line 194, in post
|
|
||||||
return self.create(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/mixins.py", line 19, in create
|
|
||||||
self.perform_create(serializer)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/mixins.py", line 24, in perform_create
|
|
||||||
serializer.save()
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 210, in save
|
|
||||||
self.instance = self.create(validated_data)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/code/core/apps/projects/serializers/project.py", line 72, in create
|
|
||||||
location = ProjectLocation.objects.create(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/manager.py", line 87, in manager_method
|
|
||||||
return getattr(self.get_queryset(), name)(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/query.py", line 661, in create
|
|
||||||
obj = self.model(**kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/db/models/base.py", line 569, in __init__
|
|
||||||
raise TypeError(
|
|
||||||
TypeError: ProjectLocation() got unexpected keyword arguments: 'distrct'
|
|
||||||
ERROR 2025-08-07 12:22:59,261 log Internal Server Error: /api/v1/projects/project/list/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
||||||
response = await wrapped_callback(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
||||||
return view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 105, in view
|
|
||||||
return self.dispatch(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
||||||
response = self.handle_exception(exc)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
||||||
self.raise_uncaught_exception(exc)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
||||||
raise exc
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
||||||
response = handler(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/generics.py", line 203, in get
|
|
||||||
return self.list(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/mixins.py", line 43, in list
|
|
||||||
return self.get_paginated_response(serializer.data)
|
|
||||||
^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 797, in data
|
|
||||||
ret = super().data
|
|
||||||
^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 251, in data
|
|
||||||
self._data = self.to_representation(self.instance)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 716, in to_representation
|
|
||||||
self.child.to_representation(item) for item in iterable
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 540, in to_representation
|
|
||||||
ret[field.field_name] = field.to_representation(attribute)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 525, in to_representation
|
|
||||||
for field in fields:
|
|
||||||
^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 386, in _readable_fields
|
|
||||||
for field in self.fields.values():
|
|
||||||
^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/utils/functional.py", line 47, in __get__
|
|
||||||
res = instance.__dict__[self.name] = self.func(instance)
|
|
||||||
^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 374, in fields
|
|
||||||
for key, value in self.get_fields().items():
|
|
||||||
^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 1105, in get_fields
|
|
||||||
field_class, field_kwargs = self.build_field(
|
|
||||||
^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 1251, in build_field
|
|
||||||
return self.build_unknown_field(field_name, model_class)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 1369, in build_unknown_field
|
|
||||||
raise ImproperlyConfigured(
|
|
||||||
django.core.exceptions.ImproperlyConfigured: Field name `location` is not valid for model `ProjectLocation` in `core.apps.projects.serializers.project_location.ProjectLocationListSerializer`.
|
|
||||||
ERROR 2025-08-07 12:23:00,420 log Internal Server Error: /api/v1/projects/project/list/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
||||||
response = await wrapped_callback(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
||||||
return view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 105, in view
|
|
||||||
return self.dispatch(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
||||||
response = self.handle_exception(exc)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
||||||
self.raise_uncaught_exception(exc)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
||||||
raise exc
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
||||||
response = handler(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/generics.py", line 203, in get
|
|
||||||
return self.list(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/mixins.py", line 43, in list
|
|
||||||
return self.get_paginated_response(serializer.data)
|
|
||||||
^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 797, in data
|
|
||||||
ret = super().data
|
|
||||||
^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 251, in data
|
|
||||||
self._data = self.to_representation(self.instance)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 716, in to_representation
|
|
||||||
self.child.to_representation(item) for item in iterable
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 540, in to_representation
|
|
||||||
ret[field.field_name] = field.to_representation(attribute)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 525, in to_representation
|
|
||||||
for field in fields:
|
|
||||||
^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 386, in _readable_fields
|
|
||||||
for field in self.fields.values():
|
|
||||||
^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/utils/functional.py", line 47, in __get__
|
|
||||||
res = instance.__dict__[self.name] = self.func(instance)
|
|
||||||
^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 374, in fields
|
|
||||||
for key, value in self.get_fields().items():
|
|
||||||
^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 1105, in get_fields
|
|
||||||
field_class, field_kwargs = self.build_field(
|
|
||||||
^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 1251, in build_field
|
|
||||||
return self.build_unknown_field(field_name, model_class)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 1369, in build_unknown_field
|
|
||||||
raise ImproperlyConfigured(
|
|
||||||
django.core.exceptions.ImproperlyConfigured: Field name `location` is not valid for model `ProjectLocation` in `core.apps.projects.serializers.project_location.ProjectLocationListSerializer`.
|
|
||||||
ERROR 2025-08-07 12:30:41,279 log Internal Server Error: /api/v1/projects/project/8b40e979-0274-48d3-92f0-007bd2e11d71/update/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
||||||
response = await wrapped_callback(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
||||||
return view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 105, in view
|
|
||||||
return self.dispatch(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
||||||
response = self.handle_exception(exc)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
||||||
self.raise_uncaught_exception(exc)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
||||||
raise exc
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
||||||
response = handler(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/generics.py", line 233, in patch
|
|
||||||
return self.partial_update(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/mixins.py", line 82, in partial_update
|
|
||||||
return self.update(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/mixins.py", line 67, in update
|
|
||||||
serializer.is_valid(raise_exception=True)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 225, in is_valid
|
|
||||||
self._validated_data = self.run_validation(self.initial_data)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 444, in run_validation
|
|
||||||
value = self.to_internal_value(data)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 501, in to_internal_value
|
|
||||||
validated_value = field.run_validation(primitive_value)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 447, in run_validation
|
|
||||||
value = self.validate(value)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/code/core/apps/projects/serializers/project_location.py", line 15, in validate
|
|
||||||
region = Region.objects.filter(id=data['region_id']).first()
|
|
||||||
~~~~^^^^^^^^^^^^^
|
|
||||||
KeyError: 'region_id'
|
|
||||||
ERROR 2025-08-07 12:34:40,832 log Internal Server Error: /api/v1/projects/project/8b40e979-0274-48d3-92f0-007bd2e11d71/update/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
||||||
response = await wrapped_callback(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
||||||
return view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 105, in view
|
|
||||||
return self.dispatch(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
||||||
response = self.handle_exception(exc)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
||||||
self.raise_uncaught_exception(exc)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
||||||
raise exc
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
||||||
response = handler(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/generics.py", line 233, in patch
|
|
||||||
return self.partial_update(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/mixins.py", line 82, in partial_update
|
|
||||||
return self.update(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/mixins.py", line 67, in update
|
|
||||||
serializer.is_valid(raise_exception=True)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 225, in is_valid
|
|
||||||
self._validated_data = self.run_validation(self.initial_data)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 444, in run_validation
|
|
||||||
value = self.to_internal_value(data)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 501, in to_internal_value
|
|
||||||
validated_value = field.run_validation(primitive_value)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 447, in run_validation
|
|
||||||
value = self.validate(value)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/code/core/apps/projects/serializers/project_location.py", line 15, in validate
|
|
||||||
region = Region.objects.filter(id=data['region_id']).first()
|
|
||||||
~~~~^^^^^^^^^^^^^
|
|
||||||
KeyError: 'region_id'
|
|
||||||
ERROR 2025-08-07 12:34:43,292 log Internal Server Error: /api/v1/projects/project/8b40e979-0274-48d3-92f0-007bd2e11d71/update/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
||||||
response = await wrapped_callback(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
||||||
return view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 105, in view
|
|
||||||
return self.dispatch(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
||||||
response = self.handle_exception(exc)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
||||||
self.raise_uncaught_exception(exc)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
||||||
raise exc
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
||||||
response = handler(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/generics.py", line 233, in patch
|
|
||||||
return self.partial_update(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/mixins.py", line 82, in partial_update
|
|
||||||
return self.update(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/mixins.py", line 67, in update
|
|
||||||
serializer.is_valid(raise_exception=True)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 225, in is_valid
|
|
||||||
self._validated_data = self.run_validation(self.initial_data)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 444, in run_validation
|
|
||||||
value = self.to_internal_value(data)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 501, in to_internal_value
|
|
||||||
validated_value = field.run_validation(primitive_value)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 447, in run_validation
|
|
||||||
value = self.validate(value)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/code/core/apps/projects/serializers/project_location.py", line 15, in validate
|
|
||||||
region = Region.objects.filter(id=data['region_id']).first()
|
|
||||||
~~~~^^^^^^^^^^^^^
|
|
||||||
KeyError: 'region_id'
|
|
||||||
@@ -1,272 +0,0 @@
|
|||||||
WARNING 2025-08-09 11:54:16,155 log Forbidden: /api/v1/projects/project/list/
|
|
||||||
WARNING 2025-08-09 11:54:24,194 log Not Found: /
|
|
||||||
WARNING 2025-08-09 11:54:24,296 log Not Found: /favicon.ico
|
|
||||||
ERROR 2025-08-09 12:13:13,318 log Internal Server Error: /api/v1/projects/project/8b40e979-0274-48d3-92f0-007bd2e11d71/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/fields.py", line 437, in get_attribute
|
|
||||||
return get_attribute(instance, self.source_attrs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/fields.py", line 104, in get_attribute
|
|
||||||
instance = getattr(instance, attr)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
AttributeError: 'ManyRelatedManager' object has no attribute 'address'
|
|
||||||
|
|
||||||
During handling of the above exception, another exception occurred:
|
|
||||||
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
||||||
response = await wrapped_callback(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
||||||
return view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 105, in view
|
|
||||||
return self.dispatch(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
||||||
response = self.handle_exception(exc)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
||||||
self.raise_uncaught_exception(exc)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
||||||
raise exc
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
||||||
response = handler(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/generics.py", line 212, in get
|
|
||||||
return self.retrieve(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/mixins.py", line 56, in retrieve
|
|
||||||
return Response(serializer.data)
|
|
||||||
^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 573, in data
|
|
||||||
ret = super().data
|
|
||||||
^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 251, in data
|
|
||||||
self._data = self.to_representation(self.instance)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 540, in to_representation
|
|
||||||
ret[field.field_name] = field.to_representation(attribute)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 527, in to_representation
|
|
||||||
attribute = field.get_attribute(instance)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/fields.py", line 470, in get_attribute
|
|
||||||
raise type(exc)(msg)
|
|
||||||
AttributeError: Got AttributeError when attempting to get a value for field `address` on serializer `WhereHouseListSerializer`.
|
|
||||||
The serializer field might be named incorrectly and not match any attribute or key on the `ManyRelatedManager` instance.
|
|
||||||
Original exception text was: 'ManyRelatedManager' object has no attribute 'address'.
|
|
||||||
ERROR 2025-08-09 12:13:14,831 log Internal Server Error: /api/v1/projects/project/8b40e979-0274-48d3-92f0-007bd2e11d71/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/fields.py", line 437, in get_attribute
|
|
||||||
return get_attribute(instance, self.source_attrs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/fields.py", line 104, in get_attribute
|
|
||||||
instance = getattr(instance, attr)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
AttributeError: 'ManyRelatedManager' object has no attribute 'address'
|
|
||||||
|
|
||||||
During handling of the above exception, another exception occurred:
|
|
||||||
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
||||||
response = await wrapped_callback(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
||||||
return view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 105, in view
|
|
||||||
return self.dispatch(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
||||||
response = self.handle_exception(exc)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
||||||
self.raise_uncaught_exception(exc)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
||||||
raise exc
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
||||||
response = handler(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/generics.py", line 212, in get
|
|
||||||
return self.retrieve(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/mixins.py", line 56, in retrieve
|
|
||||||
return Response(serializer.data)
|
|
||||||
^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 573, in data
|
|
||||||
ret = super().data
|
|
||||||
^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 251, in data
|
|
||||||
self._data = self.to_representation(self.instance)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 540, in to_representation
|
|
||||||
ret[field.field_name] = field.to_representation(attribute)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 527, in to_representation
|
|
||||||
attribute = field.get_attribute(instance)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/fields.py", line 470, in get_attribute
|
|
||||||
raise type(exc)(msg)
|
|
||||||
AttributeError: Got AttributeError when attempting to get a value for field `address` on serializer `WhereHouseListSerializer`.
|
|
||||||
The serializer field might be named incorrectly and not match any attribute or key on the `ManyRelatedManager` instance.
|
|
||||||
Original exception text was: 'ManyRelatedManager' object has no attribute 'address'.
|
|
||||||
ERROR 2025-08-09 15:14:16,166 log Internal Server Error: /swagger/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 235, in _get_response_async
|
|
||||||
callback, callback_args, callback_kwargs = self.resolve_request(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 313, in resolve_request
|
|
||||||
resolver_match = resolver.resolve(request.path_info)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/urls/resolvers.py", line 666, in resolve
|
|
||||||
for pattern in self.url_patterns:
|
|
||||||
^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/utils/functional.py", line 47, in __get__
|
|
||||||
res = instance.__dict__[self.name] = self.func(instance)
|
|
||||||
^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/urls/resolvers.py", line 718, in url_patterns
|
|
||||||
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
|
|
||||||
^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/utils/functional.py", line 47, in __get__
|
|
||||||
res = instance.__dict__[self.name] = self.func(instance)
|
|
||||||
^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/urls/resolvers.py", line 711, in urlconf_module
|
|
||||||
return import_module(self.urlconf_name)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
|
|
||||||
return _bootstrap._gcd_import(name[level:], package, level)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
|
|
||||||
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
|
|
||||||
File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
|
|
||||||
File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
|
|
||||||
File "<frozen importlib._bootstrap_external>", line 999, in exec_module
|
|
||||||
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
|
|
||||||
File "/code/config/urls.py", line 33, in <module>
|
|
||||||
path('projects/', include('core.apps.projects.urls')),
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/urls/conf.py", line 39, in include
|
|
||||||
urlconf_module = import_module(urlconf_module)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
|
|
||||||
return _bootstrap._gcd_import(name[level:], package, level)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
|
|
||||||
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
|
|
||||||
File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
|
|
||||||
File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
|
|
||||||
File "<frozen importlib._bootstrap_external>", line 995, in exec_module
|
|
||||||
File "<frozen importlib._bootstrap_external>", line 1133, in get_code
|
|
||||||
File "<frozen importlib._bootstrap_external>", line 1063, in source_to_code
|
|
||||||
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
|
|
||||||
File "/code/core/apps/projects/urls.py", line 39
|
|
||||||
path('<uuid:id>/delete/', estimate_views.)
|
|
||||||
^
|
|
||||||
SyntaxError: invalid syntax
|
|
||||||
WARNING 2025-08-09 15:14:16,990 log Not Found: /favicon.ico
|
|
||||||
ERROR 2025-08-09 15:35:41,275 log Internal Server Error: /api/v1/projects/project_estimate/list/
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
||||||
response = await get_response(request)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
||||||
raise exc_info[1]
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
||||||
response = await wrapped_callback(
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 439, in __call__
|
|
||||||
ret = await asyncio.shield(exec_coro)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
|
|
||||||
result = self.fn(*self.args, **self.kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
||||||
return func(*args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
||||||
return view_func(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/django/views/generic/base.py", line 105, in view
|
|
||||||
return self.dispatch(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
||||||
response = self.handle_exception(exc)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
||||||
self.raise_uncaught_exception(exc)
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
||||||
raise exc
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
||||||
response = handler(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/generics.py", line 203, in get
|
|
||||||
return self.list(request, *args, **kwargs)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/mixins.py", line 43, in list
|
|
||||||
return self.get_paginated_response(serializer.data)
|
|
||||||
^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 797, in data
|
|
||||||
ret = super().data
|
|
||||||
^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 251, in data
|
|
||||||
self._data = self.to_representation(self.instance)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 716, in to_representation
|
|
||||||
self.child.to_representation(item) for item in iterable
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 540, in to_representation
|
|
||||||
ret[field.field_name] = field.to_representation(attribute)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 716, in to_representation
|
|
||||||
self.child.to_representation(item) for item in iterable
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/serializers.py", line 540, in to_representation
|
|
||||||
ret[field.field_name] = field.to_representation(attribute)
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
File "/usr/local/lib/python3.12/site-packages/rest_framework/fields.py", line 1870, in to_representation
|
|
||||||
return method(value)
|
|
||||||
^^^^^^^^^^^^^
|
|
||||||
File "/code/core/apps/projects/serializers/project_estimate.py", line 20, in get_unity
|
|
||||||
'name': obj.unity.name
|
|
||||||
^^^^^^^^^^^^^^
|
|
||||||
AttributeError: 'Unity' object has no attribute 'name'
|
|
||||||
Reference in New Issue
Block a user