django - 是否可以在 Django API PUT 中选择要删除的内容?
问题描述
此页面执行以下操作,通过键入用户提供的新输入来编辑数据,还有一个已注册接口的表,每个接口都有自己的复选框。如果用户想要删除某个界面,用户可以选中复选框并按下保存按钮以进行代码更改。我想知道是否在 Django API 框架中,是否有可能与此类似?我已经创建了一个 API 视图来编辑用户可以输入新数据以更新现有数据的部分,但我想知道是否在 API 中,可以完成删除吗?如果可以,怎么做?
以下是我的代码:
模型.py
class DeviceDetail(models.Model):
SUBNET_CHOICES = (
('16','16'),
('17', '17'),
('18','18'),
('19','19'),
('20','20'),
('21', '21'),
('22', '22'),
('23', '23'),
('24', '24'),
('25', '25'),
('26', '26'),
('27', '27'),
('28', '28'),
('29', '29'),
('30', '30'),
)
DEV_MODS =(
('Catalyst 9606R', 'Catalyst 9606R'),
('C9300L-48T-4X', 'C9300L-48T-4X')
)
mgt_interface = models.CharField(max_length=50)
subnetmask = models.CharField(max_length=2, choices = SUBNET_CHOICES)
ssh_id = models.CharField(max_length=50)
ssh_pwd = models.CharField(max_length=50)
enable_secret = models.CharField(max_length=50)
dev_mod=models.CharField(max_length=50, choices = DEV_MODS) ##device_model replacement
DD2DKEY = models.ForeignKey(Device, on_delete=models.CASCADE) ##The key to link up the tables
def __str__(self):
return self.hostname
序列化程序.py
class DeviceDetailSerializers(serializers.ModelSerializer):
class Meta:
model = DeviceDetail
fields = ['mgt_interface', 'subnetmask', 'ssh_id', 'ssh_pwd', 'enable_secret', 'dev_mod']
视图.py
@api_view(['PUT'])
def update_device(request, pk=None):
if pk != None:
devicedetail = DeviceDetail.objects.get(DD2DKEY=pk)
devdserializer = DeviceDetailSerializers(devicedetail, data = request.data)
if devdserializer.is_valid():
devdserializer.save()
results = {
"device_details" : devdserializer.data,
}
return Response(results, status=status.HTTP_201_CREATED)
return Response(devdserializer.errors, status=status.HTTP_400_BAD_REQUEST)
解决方案
推荐阅读
- transactions - geth [Go Ethereum] 我无法进行交易 [超过块 gas 限制] 或 [intrinsic gas 太低]
- amazon-web-services - 使用 Terraform 将 AWS Lambda 函数触发器添加到现有函数
- html - 为什么添加旋转动画会偏移我的图像?
- hive - Beeline 将新行视为语句终止符而不是分号
- javascript - ReactJS 在 for 循环中传递错误的值
- python - 如何从部署在数字海洋中的 Django 应用发送电子邮件?
- awk - AWK 从字段中删除前导和尾随空格
- python - 如何使用光线多处理有效地填充列表?
- node.js - 如何在 React.js 中显示从 API 检索到的二进制图像?
- python - 找到“#”时拆分数组或列表