added data
This commit is contained in:
@@ -70,7 +70,7 @@ class Job(models.Model):
|
||||
type = models.CharField(max_length=15, choices=TYPE_CHOICES, default="Irrigating")
|
||||
field = models.ForeignKey(Field, on_delete=models.CASCADE)
|
||||
made_date = models.DateTimeField(auto_now_add=True)
|
||||
due_date = models.DateTimeField()
|
||||
due_date = models.DateTimeField(auto_now_add=True)
|
||||
status = models.BooleanField()
|
||||
costs = models.ForeignKey(Cost, on_delete=models.SET_NULL, null=True, blank=True)
|
||||
notes = models.ForeignKey(Note, on_delete=models.SET_NULL, null=True, blank=True)
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
from rest_framework import serializers
|
||||
from .models import Field, Note, Cost, Image, Job, Cultivation_calender, Product
|
||||
|
||||
from jalali_date import datetime2jalali
|
||||
|
||||
|
||||
class FieldSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
@@ -21,22 +23,31 @@ class CostSerializer(serializers.ModelSerializer):
|
||||
|
||||
|
||||
class ImageSerializer(serializers.ModelSerializer):
|
||||
uploaded_at = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = Image
|
||||
fields = "__all__"
|
||||
|
||||
def get_uploaded_at(self, obj):
|
||||
return datetime2jalali(obj.uploaded_at).strftime("%Y/%m/%d %H:%M:%S")
|
||||
|
||||
|
||||
class JobSerializer(serializers.ModelSerializer):
|
||||
field = serializers.PrimaryKeyRelatedField(queryset=Field.objects.all())
|
||||
costs = serializers.PrimaryKeyRelatedField(
|
||||
queryset=Cost.objects.all(), required=False, allow_null=True
|
||||
)
|
||||
notes = serializers.PrimaryKeyRelatedField(
|
||||
queryset=Note.objects.all(), required=False, allow_null=True
|
||||
)
|
||||
images = serializers.PrimaryKeyRelatedField(
|
||||
queryset=Image.objects.all(), required=False, allow_null=True
|
||||
)
|
||||
# field = serializers.PrimaryKeyRelatedField(queryset=Field.objects.all())
|
||||
field = FieldSerializer(read_only=True)
|
||||
# costs = serializers.PrimaryKeyRelatedField(
|
||||
# queryset=Cost.objects.all(), required=False, allow_null=True
|
||||
# )
|
||||
costs = CostSerializer(read_only=True, allow_null=True)
|
||||
# notes = serializers.PrimaryKeyRelatedField(
|
||||
# queryset=Note.objects.all(), required=False, allow_null=True
|
||||
# )
|
||||
notes = NoteSerializer(read_only=True, allow_null=True)
|
||||
# images = serializers.PrimaryKeyRelatedField(
|
||||
# queryset=Image.objects.all(), required=False, allow_null=True
|
||||
# )
|
||||
images = ImageSerializer(read_only=True, allow_null=True)
|
||||
|
||||
class Meta:
|
||||
model = Job
|
||||
|
||||
@@ -10,6 +10,9 @@ from .views import (
|
||||
CostDetail,
|
||||
FieldListCreate,
|
||||
FieldDetail,
|
||||
cultivation_calender,
|
||||
ProductListCreate,
|
||||
ProductDetail,
|
||||
)
|
||||
|
||||
|
||||
@@ -20,13 +23,15 @@ def register_crud_urls(prefix, list_view, detail_view):
|
||||
]
|
||||
|
||||
|
||||
urlpatterns = []
|
||||
|
||||
urlpatterns = [
|
||||
path("cultivation/", cultivation_calender.as_view(), name="cultivation_calender"),
|
||||
]
|
||||
urlpatterns += register_crud_urls("jobs", JobListCreate, JobDetail)
|
||||
urlpatterns += register_crud_urls("notes", NoteListCreate, NoteDetails)
|
||||
urlpatterns += register_crud_urls("images", ImageListCreate, ImageDetail)
|
||||
urlpatterns += register_crud_urls("costs", CostListCreate, CostDetail)
|
||||
urlpatterns += register_crud_urls("fields", FieldListCreate, FieldDetail)
|
||||
urlpatterns += register_crud_urls("products", ProductListCreate, ProductDetail)
|
||||
|
||||
|
||||
# urlpatterns = [
|
||||
|
||||
@@ -3,13 +3,15 @@ from rest_framework import status, generics
|
||||
from rest_framework.views import APIView
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.permissions import IsAuthenticated
|
||||
from .models import Job, Note, Image, Cost, Field
|
||||
from .models import Job, Note, Image, Cost, Field, Cultivation_calender, Product
|
||||
from .serializers import (
|
||||
JobSerializer,
|
||||
NoteSerializer,
|
||||
ImageSerializer,
|
||||
CostSerializer,
|
||||
FieldSerializer,
|
||||
CultivationCalenderSerializer,
|
||||
ProductSerializer,
|
||||
)
|
||||
from rest_framework.viewsets import ModelViewSet
|
||||
|
||||
@@ -98,6 +100,33 @@ class NoteDetails(generics.RetrieveUpdateDestroyAPIView):
|
||||
return Note.objects.filter(user=self.request.user)
|
||||
|
||||
|
||||
class cultivation_calender(generics.ListCreateAPIView):
|
||||
serializer_class = CultivationCalenderSerializer
|
||||
premission_classes = [IsAuthenticated]
|
||||
|
||||
def get_queryset(self):
|
||||
return Cultivation_calender.objects.all()
|
||||
|
||||
def perform_create(self, serializer):
|
||||
serializer.save()
|
||||
|
||||
|
||||
class ProductListCreate(generics.ListCreateAPIView):
|
||||
serializer_class = ProductSerializer
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
def get_queryset(self):
|
||||
return Product.objects.all()
|
||||
|
||||
|
||||
class ProductDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||
serializer_class = ProductSerializer
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
def get_queryset(self):
|
||||
return Product.objects.filter()
|
||||
|
||||
|
||||
class JobListCreate(generics.ListCreateAPIView):
|
||||
serializer_class = JobSerializer
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
Reference in New Issue
Block a user