私は次のようなJSON変数を持っています:
myjson = [{"name":"bla", "value":111}, {"name":"ble", "value":222}, {"name":"bli", "value":333}, {"name":"blo", "value":444}]
私のDjangoモデルは次のとおりです。
class myTable(models.Model):
name = models.TextField(max_length=2000)
bla = models.IntegerField(default=0)
ble = models.IntegerField(default=0)
bli = models.IntegerField(default=0)
blo = models.IntegerField(default=0)
def __unicode__(self):
return '%s, %s, %s, %s' % (self.name, self.bla, self.ble, self.bli, self.blo)
この行を(views.pyから)保存したい:
from myproject.models import myTable
n = "lalala"
query = myTable(name="lalala", bla=111, ble=222, bli=333, blo=444)
query.save()
JSONを反復処理するクエリを作成する方法がわかりません。
文字列を作成する場合:
#>>> q="lalala"
#>>> myzonesstring = 'name="'+q+'", '
#>>> for m in myjson:
#... myzonesstring += str(m["name"])+'='+str(m["value"])+', ' ...
#>>> myzonesstring 'name="lalala", bla=111, ble=222, bli=333, blo=444, '
#>>> myzonesstring[:-2] 'name="lalala", bla=111, ble=222, bli=333, blo=444'
#>>> query = myTable(myzonesstring[:-2])
#>>> query.save() [. python . ValueError: invalid literal for int() with base 10: 'name="lalala", bla=111, ble=222, bli=333, blo=444'