如何在 Django 休息框架中发送摄影师 ID
how to send photographer id in django rest framework
我如何在 django rest 框架中发送摄影师 ID。与 post 请求。当前用户已完美发送,但我想发送摄影师 ID。
请帮我解决这个问题
这是我的代码。
models.py
class Booking(models.Model):
user = models.ForeignKey(User,on_delete=models.CASCADE, null=True)
photographer = models.ForeignKey(photographer,on_delete=models.CASCADE,null=True,
related_name="photographer_set")
address = models.CharField(max_length=100, null=True)
near_by = models.CharField(max_length=100, null=True)
phone_number = models.BigIntegerField(null=True)
status = models.BooleanField(default=False)
date = models.DateField(default=datetime.date.today()
@staticmethod
def get_booking_by_customer(user_id):
return Booking.objects.filter(user=user_id).order_by('_date')
serializer.py
class bookingserializer(serializers.ModelSerializer):
#photographer_set = photographerSerializer()
#user = serializers.PrimaryKeyRelatedField(read_only=True, default=serializers.CurrentUserDefault())
class Meta:
model = Booking
fields = ['id', 'address','near_by','phone_number','date',"photographer",'user','status']
depth = 1
views.py
class bookings(generics.GenericAPIView):
permission_classes = (permissions.IsAuthenticated,)
serializer_class = bookingserializer
@csrf_exempt
def post(self, request):
booking = request.data
serializer = self.serializer_class(data=booking)
#booking.status=True
self.request.data.get('photographer_id')
serializer.is_valid(raise_exception=True)
serializer.save(user=self.request.user)
return Response(status=status.HTTP_201_CREATED)
您可以从前端传入 'photographer_id'
请求正文。
然后在你的view.py中,你可以用self.request.data.get('photographer_id')
获取数据。
如果您使用的是 POSTMAN:
尝试以下:
class bookings(generics.GenericAPIView):
permission_classes = (permissions.IsAuthenticated,)
serializer_class = bookingserializer
@csrf_exempt
def post(self, request):
booking = request.data
serializer = self.serializer_class(data=booking)
#booking.status=True
photographer_id = self.request.data.get('photographer_id')
serializer.is_valid(raise_exception=True)
serializer.save(user=self.request.user, photographer=photographer_id)
return Response(status=status.HTTP_201_CREATED)
我如何在 django rest 框架中发送摄影师 ID。与 post 请求。当前用户已完美发送,但我想发送摄影师 ID。 请帮我解决这个问题
这是我的代码。
models.py
class Booking(models.Model):
user = models.ForeignKey(User,on_delete=models.CASCADE, null=True)
photographer = models.ForeignKey(photographer,on_delete=models.CASCADE,null=True,
related_name="photographer_set")
address = models.CharField(max_length=100, null=True)
near_by = models.CharField(max_length=100, null=True)
phone_number = models.BigIntegerField(null=True)
status = models.BooleanField(default=False)
date = models.DateField(default=datetime.date.today()
@staticmethod
def get_booking_by_customer(user_id):
return Booking.objects.filter(user=user_id).order_by('_date')
serializer.py
class bookingserializer(serializers.ModelSerializer):
#photographer_set = photographerSerializer()
#user = serializers.PrimaryKeyRelatedField(read_only=True, default=serializers.CurrentUserDefault())
class Meta:
model = Booking
fields = ['id', 'address','near_by','phone_number','date',"photographer",'user','status']
depth = 1
views.py
class bookings(generics.GenericAPIView):
permission_classes = (permissions.IsAuthenticated,)
serializer_class = bookingserializer
@csrf_exempt
def post(self, request):
booking = request.data
serializer = self.serializer_class(data=booking)
#booking.status=True
self.request.data.get('photographer_id')
serializer.is_valid(raise_exception=True)
serializer.save(user=self.request.user)
return Response(status=status.HTTP_201_CREATED)
您可以从前端传入 'photographer_id'
请求正文。
然后在你的view.py中,你可以用self.request.data.get('photographer_id')
获取数据。
如果您使用的是 POSTMAN:
尝试以下:
class bookings(generics.GenericAPIView):
permission_classes = (permissions.IsAuthenticated,)
serializer_class = bookingserializer
@csrf_exempt
def post(self, request):
booking = request.data
serializer = self.serializer_class(data=booking)
#booking.status=True
photographer_id = self.request.data.get('photographer_id')
serializer.is_valid(raise_exception=True)
serializer.save(user=self.request.user, photographer=photographer_id)
return Response(status=status.HTTP_201_CREATED)