Как я могу объединить две таблицы базы данных MySql, используя Django, получить данные из обеих из них и просматривать в браузере, используя Django Rest Framework? - PullRequest
0 голосов
/ 27 июня 2019

На самом деле я написал код на python, используя Django и MySql Database, чтобы объединить две таблицы и извлечь данные из обеих таблиц и просмотреть их в браузере с помощью Django Rest Framework ... Я хочу использовать для этого необработанный SQL-запрос, и яЯ сделал это, но это не работает ... Я публикую код.Может кто-нибудь, пожалуйста, помогите мне ... ??? И да, я использую нумерацию страниц ... и данные поступают только из одной таблицы ... Пожалуйста, помогите ....

view.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)

model.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'
...