[问题] 如何在objects.create里使用for循环

楼主: BlgAtlfans (BLG_Eric)   2016-07-03 18:36:09
各位好
我有以下Model:
class Sdata(models.Model):
id = models.IntegerField(blank=True,primary_key=True)
data = JSONField()
def __str__(self):
return self.id
现在我想做的是把data字段动态写入csv资料
先用csv.reader 一行一行读
再用key:value的方式写入Jsonfield('资料字段' : '对应资料值')
但是我可能有很多笔资料
而且有些资料笔数不一定 资料字段内容也未知
我已经有试着做出以下程式码(views.py):
def display(request):
t = 0 #count loop time
sdata = Sdata.objects.all()
for document in Document: #Document是储存csv档的地方
datareader = csv.reader(open(document.p), delmiter=',')
#p是路径
for row in datareader:
if t == 0: #first time
col_count = len(row)
row_count = sum(1 for row in datareader)
frow = row #将csv资料第一行(字段)储存到frow
t = t+1
else: #not first time
Sdata.objects.create(
name = ('id%d' % t)
for i in range(0, col_count,1):
data = {
('%s' % frow[i]): ('%s' % row[i]),
}
)
t = t+1
t = 0
return render_to_response('display.html',
RequestContext(request,locals()))
现在问题是
else后的填入资料部分
django好像不接受在objects.create中放入if,for,while...等
所以应该要怎么改才能做到像我上面一样
让jsonfield动态填入多个key:value?
感谢各位~
作者: ck574b027 (荒围!定厝!贼!妹!)   2016-07-03 18:52:00
让 data 等于一个 dict comprehension

Links booklink

Contact Us: admin [ a t ] ucptt.com