django - 如何使用 Django 连接两个 MySql 数据库表并从它们中获取数据并使用 Django Rest Framework 在浏览器中查看?
问题描述
实际上,我使用 Django 和 MySql 数据库在 python 中编写了一个代码来连接两个表并从这两个表中获取数据并使用 Django Rest Framework 在浏览器中查看它们......我想使用原始 sql 查询来这样做,我已经这样做了但它不起作用......我正在发布代码。谁能帮帮我...???是的,我正在使用分页...数据仅来自一张表...请帮助...
视图.py
@api_view(['GET','POST'])
def index(request):
if request.method=='GET':
all_dataobj=fetchdata.objects.raw("SELECT fetchdata.*,
fetchdata_dum.*
FROM fetchdata LEFT JOIN fetchdata_dum ON fetchdata.id =
fetchdata_dum.fetchdata_id")
paginator = CustomPagination()
result_page = paginator.paginate_queryset(all_dataobj, request)
pserializer=fetchdataSerializers(result_page,many=True)
return paginator.get_paginated_response(pserializer.data)
# return Response(pserializer.data,status=status.HTTP_201_CREATED)
elif request.method=='POST':
serializer=fetchdataSerializers(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data,status=status.HTTP_201_CREATED)
return Response(serializer.errors,status=status.HTTP_400_BAD_REQUEST)
模型.py
from django.db import models
class fetchdata(models.Model):
id = models.IntegerField
first_name = models.CharField(max_length=250)
middle_name = models.CharField(max_length=15)
last_name = models.CharField(max_length=250)
email = models.CharField(max_length=250)
ma_id = models.CharField(max_length=250)
menu_item_id = models.CharField(max_length=250)
item_id = models.CharField(max_length=250)
meta_key = models.CharField(max_length=250)
meta_value = models.CharField(max_length=250)
date_added = models.CharField(max_length=250)
date_updated = models.CharField(max_length=250)
class Meta:
db_table = 'fetchdata'
class fetchdata_dum(models.Model):
id = models.IntegerField
fetchdata_id = models.IntegerField
first_name = models.CharField(max_length=250)
middle_name = models.CharField(max_length=15)
last_name = models.CharField(max_length=250)
email = models.CharField(max_length=250)
ma_id = models.CharField(max_length=250)
menu_item_id = models.CharField(max_length=250)
item_id = models.CharField(max_length=250)
meta_key = models.CharField(max_length=250)
meta_value = models.CharField(max_length=250)
date_added = models.CharField(max_length=250)
date_updated = models.CharField(max_length=250)
class Meta:
db_table = 'fetchdata_dum'
解决方案
推荐阅读
- java - H2 数据库中@GeneratedValue 的问题
- node.js - discord.js EvaluatedPermissions 其他解决方案
- excel - 如果在单元格中选择了值,则为 Msgbox
- php - 没有得到数组 - PHP JSON Explode
- android-source - Aosp 下载问题
- sapui5 - 如何在 SAP Ui5 中添加验证,在输入字段中,用户端必须仅输入具有相应最大长度和最小长度的数字,
- javascript - 如何根据javascript中的对象属性对数据进行分组?
- c# - Xamarin.Forms 重新加载集合视图
- android - 如何获得变量反应原生
- c# - .net core EF:remove-migration 不删除迁移文件