for _size in goods['sizes']: if Size.objects.filter(sname=_size[0]).count() == 1: size = Size.objects.get(sname=_size[0]) else: size = Size.objects.create(sname=_size[0]) sizes.append(size) colors = [] for _color in goods['colors']: color = Color.objects.create(colorname=_color[0], colorurl=_color[1]) colors.append(color) for _spec in goods['specs']: goodsdetails = GoodsDetailName.objects.create(gdname=_spec[0]) for img in _spec[1]: GoodDetail.objects.create(goods=good,goodsdname=goodsdetails,gdurl=img) for c in colors: for s in size: Inventory.objects.create(count=100,goods=good, color=c, sizes=s)TypeError: Inventory() got an unexpected keyword argument 'size'如何修正哪里
时间: 2023-06-17 09:08:59 浏览: 30
根据错误提示,`Inventory` 模型中没有名为 `size` 的字段。你在创建 `Inventory` 对象时使用了 `size` 参数,导致出现了错误。
假设你的 `Inventory` 模型中有 `sizes` 字段,表示商品的尺码。那么你需要将创建 `Inventory` 对象时的参数名由 `size` 改为 `sizes`,即:
```
for c in colors:
for s in sizes:
Inventory.objects.create(count=100, goods=good, color=c, sizes=s)
```
这样就可以避免该错误了。
相关问题
请将下述程序补充完整,计算并输出Peter各科平均分。 提示:使用**参数以字典形式吸收关键字参数。 程序期望的执行结果为: math : 90 english : 88 python : 95 sports : 76 Peter's average score is:87.25 def key(sName= Peter ,____1_____): sum=0 for i,j in course.items(): print(i, : ,j) for i in ____2_____: sum=sum+i avg=sum/_____3___ print( {}'s average score is:{:.2f} .format(sName,avg)) key(math=90,english=88,python=95,sports=76)
```
def key(sName="Peter", **course):
sum = 0
for i, j in course.items():
print(i, ":", j)
for i in course.values():
sum += i
avg = sum / len(course)
print("{}'s average score is:{:.2f}".format(sName, avg))
key(math=90, english=88, python=95, sports=76)
```
请将下述程序补充完整,计算并输出Peter各科平均分。 提示:使用**参数以字典形式吸收关键字参数。 程序期望的执行结果为: math : 90 english : 88 python : 95 sports : 76 Peter's average score is:87.25 def key(sName="Peter",____1_____): sum=0 for i,j in course.items(): print(i,":",j) for i in ____2_____: sum=sum+i avg=sum/_____3___ print("{}'s average score is:{:.2f}".format(sName,avg)) key(math=90,english=88,python=95,sports=76)
```
def key(sName="Peter", **course):
sum=0
for i,j in course.items():
print(i,":",j)
sum += j
avg=sum/len(course)
print("{}'s average score is:{:.2f}".format(sName,avg))
key(math=90,english=88,python=95,sports=76)
```
输出结果为:
```
math : 90
english : 88
python : 95
sports : 76
Peter's average score is:87.25
```