This commit is contained in:
Louis Mazin 2026-09-20 01:06:33 +02:00
parent fa6e979e83
commit f610fcad83
2 changed files with 58 additions and 3 deletions

View File

@ -1,9 +1,15 @@
from django.db import models
from django.conf import settings from django.conf import settings
from django.db import models
from datetime import datetime from datetime import datetime
class TimeEntry(models.Model): class TimeEntry(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='time_entries') user = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
related_name='time_entries',
)
date = models.DateField() date = models.DateField()
start_time = models.TimeField(null=True, blank=True) start_time = models.TimeField(null=True, blank=True)
end_time = models.TimeField(null=True, blank=True) end_time = models.TimeField(null=True, blank=True)

View File

@ -21,6 +21,8 @@ class DebugDatabaseView(APIView):
def get(self, request): def get(self, request):
with connection.cursor() as cursor: with connection.cursor() as cursor:
# Vérifie vers quelle table la FK de TimeEntry pointe réellement
cursor.execute(""" cursor.execute("""
SELECT SELECT
CONSTRAINT_NAME, CONSTRAINT_NAME,
@ -44,10 +46,57 @@ class DebugDatabaseView(APIView):
for row in cursor.fetchall() for row in cursor.fetchall()
] ]
# Liste des utilisateurs du modèle users.User
cursor.execute("""
SELECT
id,
username,
first_name,
last_name
FROM users_user
ORDER BY id
""")
users = [
{
'id': row[0],
'username': row[1],
'first_name': row[2],
'last_name': row[3],
}
for row in cursor.fetchall()
]
# Derniers pointages existants
cursor.execute("""
SELECT
id,
user_id,
date,
start_time,
end_time
FROM time_tracking_timeentry
ORDER BY id DESC
LIMIT 20
""")
entries = [
{
'id': row[0],
'user_id': row[1],
'date': str(row[2]),
'start_time': str(row[3]) if row[3] else None,
'end_time': str(row[4]) if row[4] else None,
}
for row in cursor.fetchall()
]
return Response({ return Response({
'database': connection.settings_dict.get('NAME'), 'database': connection.settings_dict.get('NAME'),
'user_model': str(settings.AUTH_USER_MODEL), 'user_model': settings.AUTH_USER_MODEL,
'foreign_keys': foreign_keys, 'foreign_keys': foreign_keys,
'users': users,
'entries': entries,
}) })
class TimeEntryListView(generics.ListAPIView): class TimeEntryListView(generics.ListAPIView):