2015-06-05 14 views
7

Tôi có chỉ mục tìm kiếm mà tôi đã tạo bằng Solr. Tôi muốn thêm các đối tượng django riêng lẻ vào chỉ mục tìm kiếm.Cách thêm đối tượng riêng lẻ vào django haystack?

Để xóa đối tượng khỏi cơ sở dữ liệu solr, chúng tôi sử dụng remove_object.

some = SomFooModel.objects.get(pk=1) 
foo = FooIndex() 
foo.remove_object(some) #This works 

Để thêm nó, là có cái gì đó như add_object hoặc một công việc xung quanh đây?

Điều tôi muốn là.

foo.add_object(some). # there is no such thing 

Điều này cũng không hoạt động. Nó không thêm đối tượng vào chỉ mục.

foo.update_object(some) 

Tôi đã thử đọc tài liệu django-haystack nhưng dường như không có gì có thể hữu ích.

Trả lời

3

Tôi không đọc tài liệu đủ tốt vì kết quả là tôi đã nhầm lẫn trên phần QuerySet.

foo.update_object(some) 

Ở trên không thêm đối tượng vào chỉ mục. Chỉ là tôi không tìm kiếm nó đúng cách. Tôi đã tìm kiếm đối tượng sau khi xóa nó theo cách sau.

SearchQuerySet().filter(foo=some.foo) 

Điều này cho phép truy vấn trống luôn được đặt.

SearchQuerySet().models(SomFooModel).filter(foo = some.foo) 

Điều này cho kết quả chính xác.

Reference

Các vấn đề liên quan