如何将字典的键和值存储到 django 中的不同字段



我写了一个代码来获取城市及其ID的详细信息。现在我将其拆分为键和值,以便我可以将键存储到 id 字段和 City 字段中的值。我在这样做时遇到问题这是我的代码

models.py

class City(models.Model):
    cityid=models.IntegerField(default=0)
    city=models.CharField(max_length=50)

views.py

def create(self, request, *args, **kwargs):
        r=requests.get('http://lab.iamrohit.in/php_ajax_country_state_city_dropdown/api.php?type=getCities&stateId=5')
        resp = requests.get(
            'http://lab.iamrohit.in/php_ajax_country_state_city_dropdown/api.php?type=getCities&stateId=1'
        )
        cities_dict = resp.json()['result']
        id1=list(cities_dict.keys())
        id2=list(cities_dict.values())
        for i in id1:
            obj1=City.objects.create()
            obj1.cityid=i
            for j in id2:
               obj1.cityid=j
            obj1.save()
        return HttpResponse (json.dumps(cities_dict))

我知道我的 views.py 有错误,请帮助我提前致谢

要保存 id 和城市,您应该执行以下操作:

cities_dict = resp.json()['result']
for id in cities_dict:
    obj1=City.objects.create(cityid=id, city=cities_dict[id])
    obj1.save()

我宁愿使用 dict.items 一次性获取键和值:

cities_dict = resp.json()['result']
for k, v in cities_dict.items():
    obj1 = City.objects.create(cityid=k, city=v)
    obj1.save()

最新更新