each user gets its own data

This commit is contained in:
2025-07-30 23:55:27 +03:30
parent 27c1fb04c8
commit 88ca54ec53
3 changed files with 33 additions and 3 deletions

View File

@@ -0,0 +1,26 @@
# Generated by Django 5.2.4 on 2025-07-30 20:12
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('field', '0006_remove_job_voices_alter_job_type_delete_voice'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.AddField(
model_name='field',
name='user',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='job',
name='user',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
]

View File

@@ -5,7 +5,7 @@ from django.contrib.auth.models import User
# Create your models here.
class Field(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
name = models.CharField(max_length=255)
geography = models.JSONField(default=dict)
@@ -53,7 +53,7 @@ class Voice(models.Model):
class Job(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
TYPE_CHOICES = [
("Irrigation", "IRRIGATING"),
("Planting", "PLANTING"),

View File

@@ -1,6 +1,7 @@
from django.shortcuts import render
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.permissions import IsAuthenticated
from .models import Job
from .serializers import JobSerializer
from rest_framework.viewsets import ModelViewSet
@@ -9,7 +10,10 @@ from rest_framework.viewsets import ModelViewSet
class JobListView(APIView):
permission_classes = [IsAuthenticated]
def get(self, request):
jobs = Job.objects.all()
current_user = request.user
jobs = Job.objects.filter(user=current_user)
serilizer = JobSerializer(jobs, many=True)
return Response(serilizer.data)