问题:
- 在models.py中定义的原始类class Goods(models.Model)中:
pic=models.ImageField(upload_to='static/images/', default='default.png', max_length=200, blank=True, null=True, verbose_name='商品图片')
- 创建类后的pic:
- 使用update更新后发现:
地址索引那一部分的“'static/images/'”没了
原因:
-
django filter后的update直接调用sql语句 不通过 model层 ,所以上面那段“upload_to='static/images/'”根本执行不到
解决:
-
使用save(),这个操作通过model层
eg:
g=models.Goods.objects.get(id=int(gid))
g.pic=request.FILES.get('pic',g.pic) # 没图像则赋值为原来的那个
g.save()