Как передать и обновить данные в разных таблицах в одной функции post в Django Rest Framework
У меня есть две модели TokenDetails и TimeInterval. Я должен опубликовать время в модели TokenDetails как bookingtime, а в TimeInterval у меня есть поле status, которое по умолчанию True, и если поле bookingtime в TokenDetails является сегодняшней датой, я должен изменить статус TimeInterval на False
TokenDetails.models.py
class TokenDetail(models.Model):
customername=models.ForeignKey('accounts.User', on_delete=models.CASCADE,null=True)
bookingdate=models.DateField(default=datetime.date.today)
bookingtime=models.ForeignKey('vendor.TimeInterval',on_delete=models.CASCADE,null=True)
servicename=models.ForeignKey('vendor.ServiceDetail',on_delete=models.CASCADE,null=True)
vendorname=models.ForeignKey('vendor.VendorDetail',on_delete=models.CASCADE,null=True)
TimeInterval.models.py
class TimeInterval(models.Model):
timeinterval=models.TimeField(default=None)
serviceid=models.ForeignKey('ServiceDetail',on_delete=models.CASCADE,null=True)
userid=models.ForeignKey('accounts.User',on_delete=models.CASCADE,null=True)
status=models.BooleanField(default=True)
def __str__(self):
return str(self.timeinterval)
views.py
@api_view(['POST'])
def tokendetailsAdd(request):
if request.method=='POST':
customername=request.data.get('customerid')
custname=User.objects.get(id=customername)
bkngdate=request.data.get('bookingdate')
bookingtime=request.data.get('bookingtime')
bkngtime=TimeInterval.objects.get(id=bookingtime)
servicename=request.data.get('servicename')
srvcname=ServiceDetail.objects.get(id=servicename)
vendorname=request.data.get('vendorname')
vndrname=VendorDetail.objects.get(id=vendorname)
sts=request.data.get('status')
status=TimeInterval.objects.get(status=sts)
TokenDetail.objects.create(
customername=custname,
bookingdate=bkngdate,
bookingtime=bkngtime,
servicename=srvcname,
vendorname=vndrname,
)
return Response('token registered')