Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 25, 2011 22:44:54

lyapun
От:
Зарегистрирован: 2011-01-25
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

ERROR: %D FORMAT: A NUMBER IS REQUIRED, NOT NONETYPE

Здраствуйте!

Очень странная ошибка иногда возникает - при редактировании какой-либо записи в админке (стандартной джанговской) выпадает такая ошибка:

TypeError at /admin/models/page/add/
%d format: a number is required, not NoneType

Environment:

Request Method: POST
Request URL: http://***.com/admin/models/page/add/
Django Version: 1.2.4
Python Version: 2.6.4
Installed Applications:
['django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.admin',
'django.contrib.admindocs',
'plast.models']
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/python26/lib/python2.6/site-packages/django/core/handlers/base.py" in get_response
100. response = callback(request, *callback_args, **callback_kwargs)
File "/usr/local/python26/lib/python2.6/site-packages/django/contrib/admin/options.py" in wrapper
265. return self.admin_site.admin_view(view)(*args, **kwargs)
File "/usr/local/python26/lib/python2.6/site-packages/django/utils/decorators.py" in _wrapped_view
76. response = view_func(request, *args, **kwargs)
File "/usr/local/python26/lib/python2.6/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
78. response = view_func(request, *args, **kwargs)
File "/usr/local/python26/lib/python2.6/site-packages/django/contrib/admin/sites.py" in inner
190. return view(request, *args, **kwargs)
File "/usr/local/python26/lib/python2.6/site-packages/django/utils/decorators.py" in _wrapper
21. return decorator(bound_func)(*args, **kwargs)
File "/usr/local/python26/lib/python2.6/site-packages/django/utils/decorators.py" in _wrapped_view
76. response = view_func(request, *args, **kwargs)
File "/usr/local/python26/lib/python2.6/site-packages/django/utils/decorators.py" in bound_func
17. return func(self, *args2, **kwargs2)
File "/usr/local/python26/lib/python2.6/site-packages/django/db/transaction.py" in _commit_on_success
299. res = func(*args, **kw)
File "/usr/local/python26/lib/python2.6/site-packages/django/contrib/admin/options.py" in add_view
803. if form.is_valid():
File "/usr/local/python26/lib/python2.6/site-packages/django/forms/forms.py" in is_valid
121. return self.is_bound and not bool(self.errors)
File "/usr/local/python26/lib/python2.6/site-packages/django/forms/forms.py" in _get_errors
112. self.full_clean()
File "/usr/local/python26/lib/python2.6/site-packages/django/forms/forms.py" in full_clean
269. self._post_clean()
File "/usr/local/python26/lib/python2.6/site-packages/django/forms/models.py" in _post_clean
337. self.instance.clean_fields(exclude=exclude)
File "/usr/local/python26/lib/python2.6/site-packages/django/db/models/base.py" in clean_fields
926. setattr(self, f.attname, f.clean(raw_value, self))
File "/usr/local/python26/lib/python2.6/site-packages/django/db/models/fields/__init__.py" in clean
195. self.run_validators(value)
File "/usr/local/python26/lib/python2.6/site-packages/django/db/models/fields/__init__.py" in run_validators
150. v(value)
File "/usr/local/python26/lib/python2.6/site-packages/django/core/validators.py" in __call__
146. self.message % params,
File "/usr/local/python26/lib/python2.6/site-packages/django/utils/functional.py" in __mod__
227. return unicode(self) % rhs

Exception Type: TypeError at /admin/models/page/add/
Exception Value: %d format: a number is required, not NoneType
В чем может быть дело?



Офлайн

#2 Янв. 25, 2011 22:55:47

appetito
От:
Зарегистрирован: 2010-09-28
Сообщения: 147
Репутация: +  2  -
Профиль   Отправить e-mail  

ERROR: %D FORMAT: A NUMBER IS REQUIRED, NOT NONETYPE

покажите код модели, с которой случается такая ошибка



Офлайн

#3 Янв. 25, 2011 23:14:55

lyapun
От:
Зарегистрирован: 2011-01-25
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

ERROR: %D FORMAT: A NUMBER IS REQUIRED, NOT NONETYPE

appetito
покажите код модели, с которой случается такая ошибка
Ну например одна из моделей:

class Page(models.Model):
title_ru = models.CharField(max_length = 255, verbose_name='Title (ru)')
title_ua = models.CharField(max_length = 255, verbose_name='Title (ua)')
header_ru = models.CharField(max_length = 100, verbose_name='Заголовок (ru)')
header_ua = models.CharField(max_length = 100, verbose_name='Заголовок (ua)')
text_ru = models.TextField(verbose_name = 'Текст (ru)')
text_ua = models.TextField(verbose_name = 'Текст (ua)')
description_ru = models.CharField(blank=True, null=True, verbose_name='Meta описание (ru)')
description_ua = models.CharField(blank=True, null=True, verbose_name='Meta описание (ua)')
keywords_ru = models.CharField(blank = True, null = True, verbose_name='Meta ключевые слова (ru)')
keywords_ua = models.CharField(blank = True, null = True, verbose_name='Meta ключевые слова (ua)')
url = models.CharField(blank=True, null=True, max_length = 30, verbose_name='URL (например about)')

class Meta:
ordering = ['header_ru']

def __unicode__(self):
return self.header_ru

@permalink
def get_absolute_url(self):
return('page_detail', None, {'object_id': self.url})



Офлайн

#4 Янв. 25, 2011 23:27:08

appetito
От:
Зарегистрирован: 2010-09-28
Сообщения: 147
Репутация: +  2  -
Профиль   Отправить e-mail  

ERROR: %D FORMAT: A NUMBER IS REQUIRED, NOT NONETYPE

первое что приходит в голову - задайте max_length для всех CharField



Офлайн

#5 Янв. 25, 2011 23:30:16

lyapun
От:
Зарегистрирован: 2011-01-25
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

ERROR: %D FORMAT: A NUMBER IS REQUIRED, NOT NONETYPE

appetito
первое что приходит в голову - задайте max_length для всех CharField
Идея мне нравится :-)
Спасибо
Потестирую, если ошибка вновь вылезет - напишу. Просто она не каждый раз срабатывала.



Офлайн

#6 Янв. 26, 2011 10:19:24

maxwell
От:
Зарегистрирован: 2008-08-26
Сообщения: 111
Репутация: +  0  -
Профиль   Отправить e-mail  

ERROR: %D FORMAT: A NUMBER IS REQUIRED, NOT NONETYPE

lyapun, Не в тему — django-modeltranslation вам в помощь.

В тему —

    @permalink
def get_absolute_url(self):
return('page_detail', None, {'object_id': self.url})
Может в место «None» нужно пустую туплю?



Отредактировано (Янв. 26, 2011 10:26:50)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version