Wow!  Awesome!  I will include this in the next maintenance release for the 
0.12 series.  Thanks a lot!

On Wednesday, July 4, 2012 5:47:22 PM UTC-4, vfigueiro wrote:
>
> Roberto Rosario Gonzalez <roberto.rosario.gonzalez@...> writes: 
>
> > 
> > 
> > Yes, Postgresql complains about some parts of the search code whereas 
> MySQL 
> and SQLite work Ok.  This one of the reasons I'm switching Mayan to a 
> dedicated 
> engine like Haystack, it is planned to be done during this development 
> cycle 
> right when I finish the inital workflow app. 
> > 
> > On Mar 16, 2012 2:40 AM, "Сергей Глита" 
> <[email protected]> wrote: 
> > Hi, Roberto! 
> > Search does not work for the field "comment" 
> > Maybe it's because pgsql 
> > Django sends the following query 
> > 'SELECT "documents_document"."id" FROM "documents_document" LEFT OUTER 
> > JOIN "documents_documenttype" ON 
> > ("documents_document"."document_type_id" = 
> > "documents_documenttype"."id") LEFT OUTER JOIN 
> > "documents_documentversion" ON ("documents_document"."id" = 
> > "documents_documentversion"."document_id") LEFT OUTER JOIN 
> > "metadata_documentmetadata" ON ("documents_document"."id" = 
> > "metadata_documentmetadata"."document_id") LEFT OUTER JOIN 
> > "documents_documentpage" ON ("documents_documentversion"."id" = 
> > "documents_documentpage"."document_version_id") LEFT OUTER JOIN 
> > "taggit_taggeditem" ON ("documents_document"."id" = 
> > "taggit_taggeditem"."object_id") LEFT OUTER JOIN "taggit_tag" ON 
> > ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") LEFT OUTER JOIN 
> > "django_comments" ON ("documents_document"."id" = 
> > "django_comments"."object_pk") WHERE 
> > (UPPER("documents_documenttype"."name"::text) LIKE UPPER(%s)  OR 
> > UPPER("documents_documentversion"."mimetype"::text) LIKE UPPER(%s)  OR 
> > UPPER("documents_documentversion"."filename"::text) LIKE UPPER(%s)  OR 
> > UPPER("metadata_documentmetadata"."value"::text) LIKE UPPER(%s)  OR 
> > UPPER("documents_documentpage"."content"::text) LIKE UPPER(%s)  OR 
> > UPPER("documents_document"."description"::text) LIKE UPPER(%s)  OR 
> > (UPPER("taggit_tag"."name"::text) LIKE UPPER(%s)  AND 
> > "taggit_taggeditem"."content_type_id" = %s ) OR 
> > (UPPER("django_comments"."comment"::text) LIKE UPPER(%s)  AND 
> > "django_comments"."content_type_id" = %s )) ORDER BY 
> > "documents_document"."date_added" DESC' 
> > and scolds me for 
> > ERROR:  operator does not exist: integer = text 
> > LEFT OUTER JOIN "django_comments" ON ("documents_document"."id" = 
> > "django_comments"."object_pk") 
> > No operator matches the given name and argument type(s). You might 
> > need to add explicit type casts. 
> > 
> > 
>
> Hi! 
>
> just had the same problem... it seems the only issue regarding search with 
> postgresql is that the comments contrib app uses object_pk instead of 
> object_id 
> for the GenericForeignKey. 
>
> If someone really wants to use postgresql before a permanent fix or new 
> search 
> engine is available, it works if you paste the following hack at the end 
> of 
> apps/dynamic_search/models.py: 
>
> from django.db import connection 
> if connection.vendor == 'postgresql': 
>     from django.db.models.sql.compiler import SQLCompiler 
>     orig_get_from_clause = SQLCompiler.get_from_clause 
>     def get_from_clause(self): 
>         result, extra = orig_get_from_clause(self) 
>         result = map(lambda s: s.replace('"django_comments"."object_pk"', 
>                         '"django_comments"."object_pk"::integer'), result) 
>         return result, extra 
>     SQLCompiler.get_from_clause = get_from_clause 
>
>
>

Reply via email to