Django: ValueError: zu viele Werte zu entpacken

Ich bin immer ein ValueError, und ich kann nicht die Abbildung der bug out für das Leben von mir. Ich bin mir bewusst, dass der Fehler bedeutet, es gibt mehr Werte übergeben werden, um eine variable als erwartet (ie, (x, y) = 1, 2, 3), aber ich sehe nicht, warum das ein problem hier.

Dies ist, wo der Fehler ist (in einer views.py Datei):

## image_pks is just a list of ImageItem primary keys (eg, [1, 2] or [5])
queryset = ImageItem.objects.filter(pk__in=image_pks)
ImageInfoFormset = modelformset_factory(ImageItem, fields=('title', 'caption'), extra=0)
formset = ImageInfoFormset(queryset) ## Error happening here!!!

Dies ist, was die ImageItem Modell sieht wie folgt aus:

class ImageItem(models.Model):
    user = models.ForeignKey(User)
    upload_date = models.DateTimeField(auto_now_add=True)
    last_modified = models.DateTimeField(auto_now=True)
    library = models.ForeignKey(Library)
    img_big = models.ImageField(upload_to=img_get_file_path)
    img_363 = models.ImageField(upload_to=img_get_file_path)
    title = models.CharField(max_length=50,
                             blank=True)
    caption = models.CharField(max_length=1000,
                               blank=True)

Dies ist die Informationen, die auf traceback:

Django: ValueError: zu viele Werte zu entpacken
Django: ValueError: zu viele Werte zu entpacken

Und hier sind die lokalen Variablen auf dem traceback:

Django: ValueError: zu viele Werte zu entpacken

Lassen Sie mich wissen, wenn Euch weitere Informationen benötigen, Dank!

EDIT: hier ist der komplette traceback zur Verfügung gestellt:

Traceback:
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File "/Users/sgarza62/riotry_master/riotry/backboard_general/views.py" in Backboard_Home
  44.                 formset = ImageInfoFormset(queryset) # TOO MANY VALUES ERROR HERE!
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/forms/models.py" in __init__
  424.         super(BaseModelFormSet, self).__init__(**defaults)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/forms/formsets.py" in __init__
  50.         self._construct_forms()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/forms/formsets.py" in _construct_forms
  114.         for i in xrange(self.total_form_count()):
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/forms/formsets.py" in total_form_count
  88.             return self.management_form.cleaned_data[TOTAL_FORM_COUNT]
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/forms/formsets.py" in _management_form
  74.             if not form.is_valid():
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/forms/forms.py" in is_valid
  124.         return self.is_bound and not bool(self.errors)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/forms/forms.py" in _get_errors
  115.             self.full_clean()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/forms/forms.py" in full_clean
  270.         self._clean_fields()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/forms/forms.py" in _clean_fields
  281.             value = field.widget.value_from_datadict(self.data, self.files, self.add_prefix(name))
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/forms/widgets.py" in value_from_datadict
  205.         return data.get(name, None)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/models/query.py" in get
  358.         clone = self.filter(*args, **kwargs)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/models/query.py" in filter
  624.         return self._filter_or_exclude(False, *args, **kwargs)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/models/query.py" in _filter_or_exclude
  642.             clone.query.add_q(Q(*args, **kwargs))
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/models/sql/query.py" in add_q
  1250.                             can_reuse=used_aliases, force_having=force_having)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/models/sql/query.py" in add_filter
  1056.         arg, value = filter_expr

Exception Type: ValueError at /backboard/
Exception Value: too many values to unpack

EDIT 2:
Ich Spiele mit ihm um, und da ist etwas seltsames passiert. Wenn ich die Zeile ändern queryset = ImageItem.objects.filter(pk__in=image_pks) zu queryset = ImageItem.objects.get(pk=10) (wobei 10 eine beliebige id), erhalte ich die folgende Fehlermeldung: AttributeError: 'ImageItem' object has no attribute 'get', und die ursprünglich problematische Zeile wirft den Fehler!

Es ist eine seltsame Fehlermeldung, weil ImageItem ist nur ein normales Modell. Natürlich hat es das Attribut 'get'. Hat das etwas zu tun mit der Tatsache, dass die queryset wird zuerst ausgewertet wird, auf die problematische Zeile (formset = ImageInfoFormset(queryset))? Ist ImageItem zugewiesen wird, um etwas anderes nach der Abfrage geschrieben wird, aber bevor es ausgewertet wird?

Ich bezweifle, dass du die richtige Linie gibt; es gibt keine variable Auspacken statt auf die Linie.
Das ist die Linie, dass die traceback-signalisiert (ich habe die Dinge geändert um zu testen und es sagt mir, dass das problem auf, dass die Linie). Gibt es nicht Auspacken stattfindet, wenn das queryset übergeben wird, als argument an ImageInfoFormset?
Nicht auf die exakte Linie, Nein.
Also, was ist ImageInfoFormat(queryset) zurück?
Das ist egal, entweder; der Rückgabewert zugewiesen wird, one - variable. Ich vermute, es gibt mehr zu dieser traceback als hier dargestellt.

InformationsquelleAutor sgarza62 | 2013-01-31

Schreibe einen Kommentar