Python 以10为基数的int()的无效文本异常原因:
当我尝试进行类别1测试时 我有一个异常:以10为基数的int()的文本无效:“category1测试” 我不明白这个例外的原因 型号Python 以10为基数的int()的无效文本异常原因:,python,django,django-1.6,Python,Django,Django 1.6,当我尝试进行类别1测试时 我有一个异常:以10为基数的int()的文本无效:“category1测试” 我不明白这个例外的原因 型号 class Category(models.Model): title = models.CharField(max_length=200) description = models.CharField(max_length=500) slug = models.SlugField(max_length=300, unique=True)
class Category(models.Model):
title = models.CharField(max_length=200)
description = models.CharField(max_length=500)
slug = models.SlugField(max_length=300, unique=True)
def __str__(self):
return '%s%s' % (self.title, self.description)
class Meta:
verbose_name_plural = 'Categories'
@models.permalink
def get_absolute_url(self):
return ('category-detail', (), {'category_id': str(self.slug)})
class Info(models.Model):
...
category = models.ForeignKey(Category)
@models.permalink
def get_absolute_url(self):
return ('category_info', (), {'info_id': str(self.id)})
def view_list(request, category_id):
list = Info.objects.filter(category = category_id).order_by("-created")
list = pagination(request, list, 10)
category = get_object_or_404(Category, slug=category_id)
return render_to_response('view_list.html', add_csrf(request, list=list, slug=category_id, category=category), context_instance=Reque
stContext(request))
Traceback:
File "/usr/local/lib/python3.2/dist-packages/django/core/handlers/base.py" in get_response
114. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/usr/info/views.py" in view_list
41. list = Info.objects.filter(category = category_id).order_by("-created")
File "/usr/local/lib/python3.2/dist-packages/django/db/models/manager.py" in filter
163. return self.get_queryset().filter(*args, **kwargs)
File "/usr/local/lib/python3.2/dist-packages/django/db/models/query.py" in filter
590. return self._filter_or_exclude(False, *args, **kwargs)
File "/usr/local/lib/python3.2/dist-packages/django/db/models/query.py" in _filter_or_exclude
608. clone.query.add_q(Q(*args, **kwargs))
File "/usr/local/lib/python3.2/dist-packages/django/db/models/sql/query.py" in add_q
1198. clause = self._add_q(where_part, used_aliases)
File "/usr/local/lib/python3.2/dist-packages/django/db/models/sql/query.py" in _add_q
1232. current_negated=current_negated)
File "/usr/local/lib/python3.2/dist-packages/django/db/models/sql/query.py" in build_filter
1122. lookup_type, value)
File "/usr/local/lib/python3.2/dist-packages/django/db/models/fields/related.py" in get_lookup_constraint
1105. value[index]), AND)
File "/usr/local/lib/python3.2/dist-packages/django/utils/tree.py" in add
104. data = self._prepare_data(data)
File "/usr/local/lib/python3.2/dist-packages/django/db/models/sql/where.py" in _prepare_data
79. value = obj.prepare(lookup_type, value)
File "/usr/local/lib/python3.2/dist-packages/django/db/models/sql/where.py" in prepare
352. return self.field.get_prep_lookup(lookup_type, value)
File "/usr/local/lib/python3.2/dist-packages/django/db/models/fields/__init__.py" in get_prep_lookup
369. return self.get_prep_value(value)
File "/usr/local/lib/python3.2/dist-packages/django/db/models/fields/__init__.py" in get_prep_value
613. return int(value)
视图
class Category(models.Model):
title = models.CharField(max_length=200)
description = models.CharField(max_length=500)
slug = models.SlugField(max_length=300, unique=True)
def __str__(self):
return '%s%s' % (self.title, self.description)
class Meta:
verbose_name_plural = 'Categories'
@models.permalink
def get_absolute_url(self):
return ('category-detail', (), {'category_id': str(self.slug)})
class Info(models.Model):
...
category = models.ForeignKey(Category)
@models.permalink
def get_absolute_url(self):
return ('category_info', (), {'info_id': str(self.id)})
def view_list(request, category_id):
list = Info.objects.filter(category = category_id).order_by("-created")
list = pagination(request, list, 10)
category = get_object_or_404(Category, slug=category_id)
return render_to_response('view_list.html', add_csrf(request, list=list, slug=category_id, category=category), context_instance=Reque
stContext(request))
Traceback:
File "/usr/local/lib/python3.2/dist-packages/django/core/handlers/base.py" in get_response
114. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/usr/info/views.py" in view_list
41. list = Info.objects.filter(category = category_id).order_by("-created")
File "/usr/local/lib/python3.2/dist-packages/django/db/models/manager.py" in filter
163. return self.get_queryset().filter(*args, **kwargs)
File "/usr/local/lib/python3.2/dist-packages/django/db/models/query.py" in filter
590. return self._filter_or_exclude(False, *args, **kwargs)
File "/usr/local/lib/python3.2/dist-packages/django/db/models/query.py" in _filter_or_exclude
608. clone.query.add_q(Q(*args, **kwargs))
File "/usr/local/lib/python3.2/dist-packages/django/db/models/sql/query.py" in add_q
1198. clause = self._add_q(where_part, used_aliases)
File "/usr/local/lib/python3.2/dist-packages/django/db/models/sql/query.py" in _add_q
1232. current_negated=current_negated)
File "/usr/local/lib/python3.2/dist-packages/django/db/models/sql/query.py" in build_filter
1122. lookup_type, value)
File "/usr/local/lib/python3.2/dist-packages/django/db/models/fields/related.py" in get_lookup_constraint
1105. value[index]), AND)
File "/usr/local/lib/python3.2/dist-packages/django/utils/tree.py" in add
104. data = self._prepare_data(data)
File "/usr/local/lib/python3.2/dist-packages/django/db/models/sql/where.py" in _prepare_data
79. value = obj.prepare(lookup_type, value)
File "/usr/local/lib/python3.2/dist-packages/django/db/models/sql/where.py" in prepare
352. return self.field.get_prep_lookup(lookup_type, value)
File "/usr/local/lib/python3.2/dist-packages/django/db/models/fields/__init__.py" in get_prep_lookup
369. return self.get_prep_value(value)
File "/usr/local/lib/python3.2/dist-packages/django/db/models/fields/__init__.py" in get_prep_value
613. return int(value)
异常类型:ValueError位于/category1测试
异常值:以10为基数的int()的文本无效:“category1 test”
category\u id
似乎是从url提取的字符串段塞(例如“category1\u test”),但您正试图将其用作外键(int
)。您可以这样做:
lst = Info.objects.filter(category__slug=category_id).order_by("-created")
或者,重新安排:
category = get_object_or_404(Category, slug=category_id)
lst = Info.objects.filter(category=category).order_by("-created")
(注意:如果我是你,我不会给名字“list”赋值。你正在隐藏内置的
list
!)你能回溯吗?我所知道的是,你们正在把字符串传递到Django期望的某个地方。谢谢你们的回复,Kevin,这对我很有帮助:)