each user gets its own data
This commit is contained in:
26
field/migrations/0007_field_user_job_user.py
Normal file
26
field/migrations/0007_field_user_job_user.py
Normal 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),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -5,7 +5,7 @@ from django.contrib.auth.models import User
|
|||||||
|
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
class Field(models.Model):
|
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)
|
name = models.CharField(max_length=255)
|
||||||
geography = models.JSONField(default=dict)
|
geography = models.JSONField(default=dict)
|
||||||
|
|
||||||
@@ -53,7 +53,7 @@ class Voice(models.Model):
|
|||||||
|
|
||||||
|
|
||||||
class Job(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 = [
|
TYPE_CHOICES = [
|
||||||
("Irrigation", "IRRIGATING"),
|
("Irrigation", "IRRIGATING"),
|
||||||
("Planting", "PLANTING"),
|
("Planting", "PLANTING"),
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from rest_framework.views import APIView
|
from rest_framework.views import APIView
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
from rest_framework.permissions import IsAuthenticated
|
||||||
from .models import Job
|
from .models import Job
|
||||||
from .serializers import JobSerializer
|
from .serializers import JobSerializer
|
||||||
from rest_framework.viewsets import ModelViewSet
|
from rest_framework.viewsets import ModelViewSet
|
||||||
@@ -9,7 +10,10 @@ from rest_framework.viewsets import ModelViewSet
|
|||||||
|
|
||||||
|
|
||||||
class JobListView(APIView):
|
class JobListView(APIView):
|
||||||
|
permission_classes = [IsAuthenticated]
|
||||||
|
|
||||||
def get(self, request):
|
def get(self, request):
|
||||||
jobs = Job.objects.all()
|
current_user = request.user
|
||||||
|
jobs = Job.objects.filter(user=current_user)
|
||||||
serilizer = JobSerializer(jobs, many=True)
|
serilizer = JobSerializer(jobs, many=True)
|
||||||
return Response(serilizer.data)
|
return Response(serilizer.data)
|
||||||
|
|||||||
Reference in New Issue
Block a user