2017-08-24 2 views
1

Ist es möglich, ein verbundenes Feld mit Djangos SearchVectorField für die Volltextsuche beizubehalten?Ist es möglich, ein verbundenes Feld in Djangos SearchVectorField beizubehalten?

Zum Beispiel:

class P(models.Model): 
    brand = models.ForeignKey(Brand, on_delete=models.CASCADE) 
    search_vector = SearchVectorField(null=True, blank=True) 

Code:

p = P.objects.get(id=1) 
p.search_vector = SearchVector('brand__name') 
p.save() 

hebt diese Ausnahme:

FieldError: Joined field references are not permitted in this query 

Wenn dies nicht möglich ist, wie Sie die Leistung verbunden kommentierte Abfragen steigern können?

Antwort

1

fand ich eine Abhilfe für das Problem:

p = P.objects.annotate(brand_name=SearchVector('brand__name')).get(id=1) 
p.search_vector = p.brand_name 
p.save() 
Verwandte Themen