问题描述
我的SearchIndex
中有这个东西:
class UserIndex(SearchIndex,Indexable):
text = CharField(document=True,use_template=True)
likes = IntegerField()
def index_queryset(self,using=None):
return self.get_model().objects.all()
def get_model(self):
return User
def prepare_likes(self,obj):
# Logging here just because it's the first "prepare" function.
log.debug("Indexing %s: %d" % (obj.__class__.__name__,obj.pk))
return obj.get_all_likes()
我的数据库中有一个对象。当我运行update_index
时,log.debug
对于带有pk
1
的对象将被打印3次。
我在做什么错了?
解决方法
问题很简单,prepare_likes
方法又被其他prepare_
方法调用,导致了多个日志语句,使我认为整个索引不止发生一次。