页面匹配查询不存在。与第二个蛞蝓

Posted

技术标签:

【中文标题】页面匹配查询不存在。与第二个蛞蝓【英文标题】:Pages matching query does not exist. With second slug 【发布时间】:2022-01-22 06:27:06 【问题描述】:

Views.py

def PortfolioElementView(request, portfolio_text):
    q = PortfolioElement.objects.filter(slug = portfolio_text)
    if q.exists():
        q = q.first()
    else:
        return HttpResponse("Go home")
    name = Pages.objects.get(name = q)    
    portfolio = get_object_or_404(PortfolioElement, id=id)
    menu = Menu.objects.all()
    photos = PortfolioImages.objects.filter(portfolio=portfolio)

    context = 
        'element': q,
        'portfolio': portfolio,
        'photos': photos,
        'menu': menu,
    

    return render(request, 'core/portfolio_element.html', context)

Models.py

class Pages(models.Model):
    name = models.CharField(max_length=100)
    slug = models.SlugField(max_length=255, unique=True, blank=True)
    content = RichTextField(blank=True, null=True)

class PortfolioElement(models.Model):
    type = models.CharField(max_length=15)
    name = models.CharField(max_length=100)
    slug = models.SlugField(max_length=100, blank=True, unique=True)


def slug_generator(sender, instance, *args, **kwargs):
    if not instance.slug:
        instance.slug = unique_slug_generator(instance)

pre_save.connect(slug_generator, sender=Pages)
pre_save.connect(slug_generator, sender=PortfolioElement)

Urls.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('<slug:slug_text>/', PagesView),
    path('', MainPageView),
    path('portfolio/<slug:portfolio_text>/', PortfolioElementView),
]

为什么它不起作用? :/

错误 不存在于 /portfolio/projekt-strony-xyz/ 页面匹配查询不存在。

编辑

我添加了 Pages 模型。

看起来您的帖子主要是代码;请添加更多细节。 看起来您的帖子主要是代码;请添加更多细节。 看起来您的帖子主要是代码;请添加更多详细信息。

【问题讨论】:

你能分享你的Pages 模型吗?看来这就是问题所在。 @WillemVanOnsem 我更新了 models.py 【参考方案1】:

您正在传递查询集,您需要传递特定字段。

name = Pages.objects.get(name=q.name)

【讨论】:

以上是关于页面匹配查询不存在。与第二个蛞蝓的主要内容,如果未能解决你的问题,请参考以下文章

我需要比较python中的2个嵌套列表以查找第一个列表的字符串与第二个列表中的字符串不匹配的位置

对第二个表中不存在 ID 的两个表的 MySQL 查询优化

bzoj4641基因改造 特殊匹配条件的KMP

测试RspecCapybara中的页面是否不存在链接?

正则表达式删除与第二个字符串匹配的行?

当与第二个字段相关时,在一个字段中查找完整匹配项