如何用Json发布大量数据?

2024-09-28 03:25:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样的数据。
enter image description here

你知道吗型号.py

from django.db import models


class Diet(models.Model):
    date = models.CharField(max_length=20)
    building = models.CharField(max_length=40)
    location = models.CharField(max_length=40)
    restaurants = models.ManyToManyField('Restaurant')

    def __str__(self):
        return self.building


class Restaurant(models.Model):
    name = models.CharField(max_length=40)
    menus = models.ManyToManyField('DietMenu')

    def __str__(self):
        return self.name


class DietMenu(models.Model):
    name = models.CharField(max_length=256)
    price = models.CharField(max_length=20)

    def __str__(self):
        return self.name

你知道吗api.py公司

from .models import Diet
from .models import Restaurant
from .models import DietMenu
from rest_framework import serializers, viewsets


class DietMenuSerializer(serializers.ModelSerializer):
    class Meta:
        model = DietMenu
        fields = ('name', 'price')


class DietMenuViewSet(viewsets.ModelViewSet):
    queryset = DietMenu.objects.all()
    serializer_class = DietMenuSerializer


class RestaurantSerializer(serializers.ModelSerializer):
    menus = DietMenuSerializer(many=True, read_only=True)
    class Meta:
        model = Restaurant
        fields = ('name', 'menus')


class RestaurantViewSet(viewsets.ModelViewSet):
    queryset = Restaurant.objects.all()
    serializer_class = RestaurantSerializer


class DietSerializer(serializers.ModelSerializer):
    restaurants = RestaurantSerializer(many=True, read_only=True)
    class Meta:
        model = Diet
        fields = ('date', 'building', 'location', 'restaurants')


class DietViewSet(viewsets.ModelViewSet):
    queryset = Diet.objects.all()
    serializer_class = DietSerializer

我得到了这样的数据的json。
enter image description here

import requests


class DjangoJson(object):
    def __init__(self):
        self.url = "url"

    def set_diet_date(self):
        self.url = "http://localhost:8000/api/v1/diet/?format=json"

    def get(self):
        self.set_diet_date()
        request = requests.get(self.url)
        document = request.json()
        return document

    def post(self, param):
        requests.post(self.url, json=param)


if __name__ == "__main__":
    json = DjangoJson()
    doc = json.get()[0]
    json.post(doc)

然后我使用请求库发布这个json。但是餐厅的场地是空的。
enter image description here

有没有办法用Json发布大量数据? 谢谢。你知道吗


Tags: namefromimportselfjsonurlmodelsdef

热门问题