【发布时间】:2021-09-18 21:51:50
【问题描述】:
当我点击帖子类别时出现错误,它显示Field 'id' expected a number but got 'coding'。
每个帖子都添加到以下类别下是我的代码:
型号:
class Categories(models.Model):
name = models.CharField(max_length=200)
class Meta:
verbose_name_plural = 'Categories'
def __str__(self):
return self.name
class Item(models.Model):
title = models.CharField(max_length=100)
description= RichTextField(blank=True, null=True)
main_image= models.ImageField(null=True, blank=True,upload_to='images/')
date = models.DateTimeField(auto_now_add=True)
item_category = models.ForeignKey(Categories, default='Coding', on_delete=SET_DEFAULT)
slug = models.SlugField(null=False, unique=True) # new
查看:
def CategoryView(request, cats):
category_posts = Item.objects.filter(item_category=cats.replace('-',''))
return render(request, 'waqart/categories.html', {'cats':cats.title(), 'category_posts':category_posts })
网址:
urlpatterns = [
path('', ItemListView.as_view(), name='waqart-home'),
path('add_item/', ItemCreateView.as_view(), name='create_item'),
path('item/<int:pk>/', ItemDetailView.as_view(), name='item_detail'),
path('item/edit/<int:pk>/', ItemUpdateView.as_view(), name='item_update'),
path('category/<str:cats>/', CategoryView, name='category'),
我是 django 新手,如果有人可以为我解决这个问题,我不胜感激
【问题讨论】:
-
分享你的
Category模型,你为什么用cats.replace('-', '')? -
@WillemVanOnsem 类别模型已添加。如果类别是两个单词,则使用替换方法
标签: python django categories blogs slug