Заполнение модели django данными из внешнего API - PullRequest
0 голосов
/ 02 ноября 2019

Я пытаюсь получить все данные из внешнего API, чтобы заполнить мою модель Django. я нашел похожий вопрос здесь

Правильный способ использования данных из RESTFUL API в django

Я предполагаю, что мне нужно сделать, чтобы GET запросил все данные,а затем POST запросить все данные для моей модели?

Однако это не полностью отвечает на мой вопрос. Я хотел бы загрузить все данные из конечной точки API.

Что у меня пока.

Models.py

class Bill(models.Model):
    STATUS = Choices('Open', 'Closed')
    Table_ID = models.ForeignKey(Table, default=None, on_delete=models.CASCADE)
    Bill_Status = models.CharField(choices=STATUS, default=STATUS.Open, max_length=20)
    Date_close = models.DateTimeField(default=timezone.now)

class Bill_Items(models.Model):
    Bill_ID = models.ForeignKey(Bill, default=None, on_delete=models.CASCADE)
    Description = models.CharField(max_length=50)
    Price = models.DecimalField(max_digits=10, decimal_places=2)
    Payment_Made = models.BooleanField(default=False)
    Date = models.DateTimeField(default=timezone.now)

    def __str__(self):
        return self.Description

Views.py

from bill.models import Table, Bill, Bill_Items



def get_bill_data(request):

        ##### GETTING THE DATA ####

        r = requests.get('http://127.0.0.1:8000/api/table1/', data=request.GET)

         #### POSTING THE DATA ####

         data = r.json()
         # Construct the bill attributes dictionary
         bill_attributes = {
            "PK": data["PK"],
            "Description": data["Description"],
            "Price": data["Price"]
        }
        Bill_Item = Bill_Items.objects.create(**bill_attributes)

        return HttpResponse(r.text)

Это не работает, если у кого-то есть идеи, пожалуйста, дайте мне знать.

Заранее спасибо

...