我试图制作类别和子类别,我正在检查this models 但我有这个错误:
Truncated incorrect DOUBLE value: 'nacionales'
其中“nacionales”是父类别,我知道我的问题可能在urls.py中,但是真的,我不知道如何设置这个案例的网址...
我的model.py:
# from ...
class Categoria(models.Model):
titulo = models.CharField(max_length=75, unique=True)
slug = models.SlugField(max_length=200,unique=True)
parent = models.ForeignKey('self', blank=True, null=True, related_name='child')
# functions....
my views.py:
# from ...
def noticias_categoria(request,parent_id,child):
categoria = get_object_or_404(Categoria,parent=parent_id,slug=child)
return object_list(request, queryset=categoria.noticia_set.all(), paginate_by=20,
template_name='categorias/categoria_list.html',
extra_context={'categoria':categoria})
我的分类urls.py:
# from ...
url(r'^(?P<parent_id>[-\w]+)/(?P<child>[-\w]+)/$',
noticias_categoria,
name='noticia_detail'
),
my url.py:
(r'^categorias/', include('categorias.urls')),
谢谢你们
答案 0 :(得分:2)
好像你正在传递父类别的字符串值 - nacionales - 函数期望数字ID。
使用parent_id
的ID,或将其重命名为parent
并写下函数的第一行,如下所示:
categoria = get_object_or_404(Categoria, parent__titulo=parent, slug=child)