我正在尝试从Notes模型中的arrayfield删除元素
obj=notes.objects.get(id=n_id,related_to__contains=[c_id])
obj.related_to.remove(c_id)
obj.save()
与之相关的是arrayfield
related_to=ArrayField(models.IntegerField())
n_id是注释的ID,而c_id是联系人的ID。当我尝试执行此操作时,出现错误 ValueError:list.remove(x):x不在列表中。我已经检查过了,c_id在arrayfield中。怎么了?
答案 0 :(得分:1)
c_id
因为找到了对象,所以肯定在related_to
字段中。我相信您会收到此错误消息是因为c_id
不是int
类型,而是string
类型。您应该先将其转换为int:
c_id = int(c_id)
obj=notes.objects.get(id=n_id,related_to__contains=[c_id])
....