这是我的模型:
class Log(models.Model):
user = models.OneToOneField(UserProfile, verbose_name='user', on_delete=models.CASCADE)
log = models.JSONField(verbose_name='log', default=list, null=True, blank=True)
def __str__(self):
return self.user.username
数据(log.log)如下所示:
[
{"date": "2021-1-1", "volume": 123},
{"date": "2021-2-1", "volume": 456}, // if post date is 2021-2-1, i want delete this
{"date": "2021-3-1", "volume": 789}
]
此删除视图:
def delete(self, request, *args, **kwargs):
date = request.data.get('date', None)
if not date:
return Response(status=status.HTTP_400_BAD_REQUEST)
user = request.user
log = Log.objects.filter(user=user).first()
if not log:
return Response(status=status.HTTP_404_NOT_FOUND)
# delete data based on date
# data = json.dumps(log.log)
...
return Response(status=status.HTTP_200_OK)
我不擅长json,try 了一些方法但失败了.
非常感谢您的回答