1

私はjsonファイルからデータを保存しようとしていますが、データを追加しても問題ないことを追加しましたが、データを再度トリガーすると、データがコピーされ、不要な同じ新しいデータが作成されます。既存のデータを更新する必要がありますjson ファイルに新しいデータがある場合は、 model に追加されます。これが私のdjangoベースコマンドコードです。

from django.core.management.base import BaseCommand
import requests
from demo.models import CoronaAge, CoronaSex, CoronaComorbidity

class Command(BaseCommand):
    def handle(self, *args, **kwargs):
        url = 'https://api.the2019ncov.com/api/fatality-rate'
        r = requests.get(url)
        titles = r.json()
        print(titles)

       # For between age
        for title in titles['byAge'] or []:
            CoronaAge.objects.update_or_create(
                age=title['age'],
                rate=title['rate']
            )

        context = {'titles': CoronaAge.objects.all()}

        # for sex wise male and female
        for title in titles['bySex'] or []:
            CoronaSex.objects.update_or_create(
                sex=title['sex'],
                rate=title['rate']
            )

        context = {'titles': CoronaSex.objects.all()}

        for title in titles['byComorbidity'] or []:
            CoronaComorbidity.objects.update_or_create(
                condition=title['preExistingCondition'],
                rate=title['rate']
            )

        context = {'titles': CoronaComorbidity.objects.all()}
4

1 に答える 1