gpt4 book ai didi

python - Django 管理中的 MultiValueDictKeyError

转载 作者:太空狗 更新时间:2023-10-29 20:32:46 25 4
gpt4 key购买 nike

更新

型号:

class PicturesManager(models.Manager):
def create_pictures(self, flat, img):
pictures = self.create(car=car, image=img)
return pictures

def get_file_path(instance, filename):
filename = "%s.%s" % (uuid.uuid4(), filename.split('.')[-1])
return os.path.join('car_img/', filename)

class Pictures(models.Model):
car = models.ForeignKey(Car, verbose_name="Car Image", related_name='pictures')
image = models.ImageField(verbose_name="Photo", upload_to = get_file_path, max_length=64)
objects = PicturesManager()
def __unicode__(self):
return str(self.id)

管理员:

class MyInlineModelAdmin(admin.TabularInline):
model = Pictures
extra = 3
class CarOptionsInline(admin.StackedInline):
model = CarOptions

class WatchesInline(admin.StackedInline):
model = Watches

class CarAdmin(admin.ModelAdmin):
inlines = [CarOptionsInline, WatchesInline, MyInlineModelAdmin]

当我在管理员中编辑 Car 时,出现错误:MultiValueDictKeyError at ... "u'pictures-0-id'"

回溯:

Environment:


Request Method: POST
Request URL: http://127.0.0.1:8000/admin1/cars/car/1/

Django Version: 1.6c1
Python Version: 2.7.5
Installed Applications:
('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sitemaps',
'cars',
'django.contrib.admin')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware')


Traceback:

File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
114. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/options.py" in wrapper
430. return self.admin_site.admin_view(view)(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapped_view
99. response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/cache.py" in _wrapped_view_func
52. response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/sites.py" in inner
198. return view(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapper
29. return bound_func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapped_view
99. response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in bound_func
25. return func(self, *args2, **kwargs2)
File "/usr/local/lib/python2.7/dist-packages/django/db/transaction.py" in inner
339. return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/options.py" in change_view
1227. if all_valid(formsets) and form_validated:
File "/usr/local/lib/python2.7/dist-packages/django/forms/formsets.py" in all_valid
415. if not formset.is_valid():
File "/usr/local/lib/python2.7/dist-packages/django/forms/formsets.py" in is_valid
292. err = self.errors
File "/usr/local/lib/python2.7/dist-packages/django/forms/formsets.py" in errors
267. self.full_clean()
File "/usr/local/lib/python2.7/dist-packages/django/forms/formsets.py" in full_clean
314. form = self.forms[i]
File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py" in __get__
49. res = instance.__dict__[self.func.__name__] = self.func(instance)
File "/usr/local/lib/python2.7/dist-packages/django/forms/formsets.py" in forms
133. forms = [self._construct_form(i) for i in xrange(self.total_form_count())]
File "/usr/local/lib/python2.7/dist-packages/django/forms/models.py" in _construct_form
839. form = super(BaseInlineFormSet, self)._construct_form(i, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/forms/models.py" in _construct_form
555. pk = self.data[pk_key]
File "/usr/local/lib/python2.7/dist-packages/django/utils/datastructures.py" in __getitem__
301. raise MultiValueDictKeyError(repr(key))

Exception Type: MultiValueDictKeyError at /admin1/cars/car/1/
Exception Value: "u'pictures-0-id'"

如何解决?我使用 Django 1.6c1。

谢谢!

最佳答案

我认为这与一张 Django 1.6 票有关

#ticket 13696 -- ensured inline pk field is rendered

您必须更新以下管理模板:

  • 堆叠.html
  • tabular.html

删除单行:

{% if inline_admin_form.has_auto_field %}{{ inline_admin_form.pk_field.field }}{% endif %}

并添加以下行:

{% if inline_admin_form.needs_explicit_pk_field %}
{{ inline_admin_form.pk_field.field }}
{% endif %}

关于python - Django 管理中的 MultiValueDictKeyError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19741314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com