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

时间:2016-03-20 19:00:03

标签: python django

我已经编写了一个代码来获取城市和他们的ids的详细信息。这是一个字典形式。 现在我将它分为键和值,以便我可以将键存储到id字段和城市字段中的值。 这样做时我遇到了问题 这是我的代码

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

我知道我的观点中有错误。请帮助我 提前谢谢

2 个答案:

答案 0 :(得分:3)

要保存ID和城市,您应该做这样的事情:

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

答案 1 :(得分:0)

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

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