您的位置:首页 > 数据库 > Redis

利用django中redisco库,修改redis模型导致数据无法保存以及部分其他问题

2017-05-08 19:13 465 查看
本来数据模型是使用django.db库写的:
class AdConversionParaRelation(models.Model):
"""
转化参数
"""
ad = models.ForeignKey(Ad, verbose_name="所属创意")
conversionPara = models.ForeignKey(ConversionPara, verbose_name="自定义属性")

class Meta:
app_label = 'campaigns'
如上图,在网页中每次点击添加属性中的值都会造成读写数据库导致后台处理缓慢。所以改为了redis模型。这里采用了redisco库。
class AdConversionParaRelation(models.Model):
"""
转化参数
"""
ad_id = models.Attribute(required=True)
conversionPara = models.Attribute(required=True)

class Meta:
app_label = 'campaigns'
模型修改后,修改业务逻辑。
for x in conversionpara_list:
AdConversionParaRelation.objects.create(ad_id=ad_id, conversionPara=x)
经过测试发现并没有和其他orm一样执行后就将数据保存进去。查了相关资料发现是还需要额外的save一下。
修改为
AdConversionParaRelation.objects.create(ad_id=ad_id, conversionPara=x).save()
经过测试发现有些数据鸣鸣通过本命令执行了还是写不进去。
疑惑了半天发现redis中的参数应该将其字符串化,修改为
for x in conversionpara_list:
AdConversionParaRelation.objects.create(ad_id=ad_id, conversionPara=str(x)).save()
这个时候就可以保存相关数据了。

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐