Ich war Whoosh mit Haystack und alles funktioniert gut, ich möchte zu ElasticSearch wechseln, aber wenn ich rebuild_index ausführen, bekomme ich den folgenden Fehler. Ich bin nicht sicher, warum der Fehler passiert, es scheint sich über meine Modelle und die Daten zu beschweren, aber wenn ich zurück zu Whoosh Suche/Indizierung alle arbeiten gut gehen.SerializationError Wiederaufbau elastische Suche Django App
Django==1.8.4
elasticsearch==2.3.0
django-haystack==2.4.1
File "C:\Users\user.virtualenvs\pguider\lib\site-packages\elasticsearch\serializer.py", line 50, in dumps raise SerializationError(data, e) elasticsearch.exceptions.SerializationError: ({u'django_id': u'1', 'created': '2016-02-13T22:19:28.037000+00:00', 'suppl ier_code': u'BL32291', 'related_supplier_parts': [], u'django_ct': u'products.supplierpart', 'supplier': u'Parts Town', 'text': u'BL32291\n32291\nBlodgett\n\nParts Town\n\n\n', 'part_code': u'32291', u'id': u'products.supplierpart.1'}, Type Error("Unable to serialize [] (type:)",))
Hier sind meine Modelle:
from django.db import models
class Supplier(models.Model):
name = models.CharField(max_length=50)
def __unicode__(self):
return u'%s' % self.name
class Part(models.Model):
name = models.CharField(max_length=200, null=True)
code = models.CharField(max_length=30, null=True)
def __unicode__(self):
return u'%s %s' % (self.code, self.name)
class SupplierPart(models.Model):
part = models.ForeignKey(Part)
supplier = models.ForeignKey(Supplier)
supplier_code = models.CharField(max_length=30)
description = models.CharField(max_length=200)
price = models.CharField(max_length=6, null=True)
sale_price = models.CharField(max_length=6, null=True)
quantity = models.IntegerField(null=True)
photo = models.ImageField(upload_to='products', null=True)
url = models.URLField()
created = models.DateTimeField(auto_now_add=True)
def __unicode__(self):
return self.supplier_code
@property
def related_supplier_parts(self):
return self.part.supplierpart_set.all().exclude(pk=self.pk)
Sieht aus wie elasticsearch das Listenfeld, das 'related_supplier_parts' ist, nicht serialisieren kann. Kannst du sagen, was ist das? –
@BartoszDabrowski sieht aus wie es über mein Fremdschlüsselfeld klagt, richtig? Ich habe meine Frage aktualisiert, um die Modelle zu enthalten –