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中就好了.