django - python中的稍复杂的json遍历问题
ringa_lee
ringa_lee 2017-04-17 17:21:57
[Python讨论组]

1.问题描述:
我有以下两个model(简写):

#销售订单
def SalesOrder(models.Model):
    id = models.AutoField(primary_key=True)  #主键,自增长
    user = models.ForeignKey(Users) #所属用户
    so_num = models.CharField(max_length=50)  #订单号  自动生成
    so_cust = models.ForeignKey(Customer) #对应客户
    so_creattime = models.DateField(default=timezone.now()) #订单创建时间

def Orderline(models.Model):
    id = models.AutoField(primary_key=True)     #主键,自增长,用来删除销售行
    sl_so = models.ForeignKey(SalesOrder) #所对应的销售订单
    sl_prod = models.ForeignKey(Product) #销售行中的产品
    sl_quanity = models.IntegerField() #交易产品数量
    sl_price = models.FloatField()   #交易价格(单价)

现在从客户端传来的数据是一组json数据(经过json.loads()解析后数据如下):

{
"cust":"jason","date":"2016-03-10",
"orderlines":[
    {"name":"item1","price":2000,"quantity":41},  
    {"name":"item2","price":134,"quantity":13}]
}:

在遍历的时候遇到了小困惑,我想将其中的数据解析出来,并赋值给不同的model对象。
最后应该要有这样的格式:

salesorder=SalesOrder(cust=jason,date='2016-3-10',......)
orderlines=[]  #放orderline数组
line1=OrderLine(name=item1,price=2000,quanity=41)
line2=OrderLine(name=item2,price=134,quanity=13)
#以上就是解析出来应该有的效果

现在我这个小菜鸟遇到了解析的问题:
首先从dict中 循环出来 for k in _so_dict
然后最后那个dict[’orderlines‘]又是list类型:
然后list中每个元素又是dict类型,

尝试很多次 都没能完美解析出来,求各位大大给个思路,小弟先说声谢谢,嘿嘿

是我想得太复杂,最后还是由Key指定获取value来的。
在orderlines遍历就行了,遍历的时候动态添加到orderline的list中就好了.

ringa_lee
ringa_lee

ringa_lee

全部回复(1)
PHP中文网

问题都没表述清楚。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号