models.py
class Log(models.Model):
product = models.ForeignKey(ProductInfo,on_delete=models.PROTECT,default=0,verbose_name='کالا')
number = models.IntegerField(null=False,blank=False,default=0,verbose_name='تعداد')
date_to_recived = jmodels.jDateTimeField(verbose_name='تاریخ دریافت محصول')
sender_name = models.CharField(max_length=100,default=None,verbose_name='نام و نام خانوادگی فرستنده')
sender_phone = models.CharField(max_length=30,default=None,verbose_name='شماره تلفن فرستنده')
sender_melli_code = models.CharField(max_length=100, default=None,verbose_name='شماره ملی فرستنده')
sender_sign = models.ImageField(blank=True, null=True, upload_to=image_saving,verbose_name='امضای فرستنده')
reciver_name = models.CharField(max_length=100,default=None,verbose_name='نام و نام خانوادگی گیرنده')
reciver_phone = models.CharField(max_length=30,default=None,verbose_name='شماره تلفن گیرنده')
reciver_melli_code = models.CharField(max_length=100, default=None,verbose_name='شماره ملی گیزنده')
reciver_sign = models.ImageField(blank=True, null=True, upload_to=image_saving,verbose_name='امضای گیرنده')
def __str__(self):
return f'{self.product.title} , number of log = {self.id}'
serializers.py
class LogSerializer(serializers.ModelSerializer):
class Meta:
model = Log
fields = '__all__'
views.py
class LogViewSet(viewsets.ModelViewSet):
queryset = Log.objects.all().order_by('-id')
serializer_class = LogSerializer
permission_classes = [IsAdminUser]
filter_backends = (filters.SearchFilter,)
search_fields = ['product__title','product__owner__username','reciver_name',
'sender_name']
def retrieve(self, request, pk=None):
obj = get_object_or_404(self.queryset, pk=pk)
serializer_class = LogSerializer(obj)
return Response(serializer_class.data)
def update(self, request, pk):
obj = Log.objects.get(pk=pk)
serializer = LogSerializer(obj, data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
i'll be thankfull if you help me.
this is my imagefield when i wanna update my data. and my imageFields and datefields are blank.