编写drug_interaction视图函数的增删改查代码:根据请求类型和请求参数,编写对drug_interaction表进行增删改查的代码。例如,如果是添加操作,可以使用DrugInteraction.objects.create()方法创建一个新的DrugInteraction对象并保存到数据库中;如果是修改操作,可以使用DrugInteraction.objects.filter().update()方法更新数据库中的记录;如果是删除操作,可以使用DrugInteraction.objects.filter().delete()方法从数据库中删除记录;如果是查询操作,可以使用DrugInteraction.objects.all()方法获取所有记录并返回给前端页面展示。
时间: 2023-06-25 08:07:00 浏览: 92
Netegrity Interaction Server
以下是DrugInteraction视图函数的增删改查代码示例:
```python
from django.shortcuts import render
from django.http import JsonResponse
from .models import DrugInteraction
# 查询所有药物交互信息
def get_drug_interaction(request):
drug_interaction = DrugInteraction.objects.all()
data = list(drug_interaction.values())
return JsonResponse(data, safe=False)
# 根据id查询药物交互信息
def get_drug_interaction_by_id(request, id):
try:
drug_interaction = DrugInteraction.objects.get(id=id)
data = model_to_dict(drug_interaction)
return JsonResponse(data, safe=False)
except DrugInteraction.DoesNotExist:
return JsonResponse({'message': 'Drug interaction does not exist'}, status=404)
# 添加药物交互信息
def add_drug_interaction(request):
if request.method == 'POST':
data = request.POST.dict()
drug_interaction = DrugInteraction.objects.create(**data)
return JsonResponse(model_to_dict(drug_interaction), status=201)
else:
return JsonResponse({'message': 'Invalid request method'}, status=400)
# 修改药物交互信息
def update_drug_interaction(request, id):
if request.method == 'PUT':
try:
drug_interaction = DrugInteraction.objects.get(id=id)
data = request.POST.dict()
drug_interaction.__dict__.update(**data)
drug_interaction.save()
return JsonResponse(model_to_dict(drug_interaction), safe=False)
except DrugInteraction.DoesNotExist:
return JsonResponse({'message': 'Drug interaction does not exist'}, status=404)
else:
return JsonResponse({'message': 'Invalid request method'}, status=400)
# 删除药物交互信息
def delete_drug_interaction(request, id):
if request.method == 'DELETE':
try:
drug_interaction = DrugInteraction.objects.get(id=id)
drug_interaction.delete()
return JsonResponse({'message': 'Drug interaction deleted successfully'}, status=204)
except DrugInteraction.DoesNotExist:
return JsonResponse({'message': 'Drug interaction does not exist'}, status=404)
else:
return JsonResponse({'message': 'Invalid request method'}, status=400)
```
其中,我们使用了Django内置的JsonResponse方法返回JSON格式的数据给前端页面展示。我们也使用了模型实例的values()方法和model_to_dict()方法将查询结果转换为字典格式的数据。
阅读全文