Django数据库重复项

如何解决Django数据库重复项

我不完全知道如何诊断我的这个问题,但是我相信我的Postgres数据库中有重复的表。我之所以这样说,是因为当我进入管理页面时,看到了projects表中的条目,这些条目也是blog post表的一部分。我想分开这些。在尝试搜索我的博客时,我也发现了问题。这是错误消息:

Exception Type: VariableDoesNotExist
Exception Value: Failed lookup for key [username] in ''

这使我相信搜索算法在查找重复项时会遇到麻烦,特别是因为在我的搜索结果中甚至找不到blog posts。仅找到project个对象。

如何查看Postgres数据库或进一步诊断我的问题?

enter image description here

enter image description here

编辑,以下是我的模型脚本:

from django.db import models
from mezzanine.blog.models import BlogPost,BlogCategory
# Create your models here.

class Projects(BlogPost):
    pass

class ProjectsCategory(BlogCategory):
    pass

这些模型继承自mezzanine CMS提供的BlogPost对象。我直接复制了视图并使用它制作了新的Projects对象。

以下是夹层提供的搜索功能

def search(request,template="search_results.html",extra_context=None):
    """
    display search results. Takes an optional "contenttype" GET parameter
    in the form "app-name.ModelName" to limit search results to a single model.
    """
    query = request.GET.get("q","")
    page = request.GET.get("page",1)
    per_page = settings.SEARCH_PER_PAGE
    max_paging_links = settings.MAX_PAGING_LINKS
    try:
        parts = request.GET.get("type","").split(".",1)
        search_model = apps.get_model(*parts)
        search_model.objects.search  # Attribute check
    except (ValueError,TypeError,LookupError,AttributeError):
        search_model = displayable
        search_type = _("Everything")
    else:
        search_type = search_model._Meta.verbose_name_plural.capitalize()
    results = search_model.objects.search(query,for_user=request.user)
    paginated = paginate(results,page,per_page,max_paging_links)
    context = {"query": query,"results": paginated,"search_type": search_type}
    context.update(extra_context or {})
    return TemplateResponse(request,template,context)

解决方法

我从项目表中看到的条目也属于博客文章表

这很令人担忧,但它可能只是过去的一个小问题。一般来说,将数据从一个表复制到另一个具有不同列的不相关表将需要一些直接的努力。

您的数据库位于服务器计算机上的某个位置,或者位于云中的另一台服务器上,该信息可能位于您的配置文件中,或者为默认值localhost:5432。如果它在本地计算机上或可以公共访问,则可以使用DataGrip之类的工具登录到该表并浏览表。另外,您可以在其所在的计算机上使用该外壳程序登录Postgres并直接运行查询。

我的猜测是这不是您的问题,您可以删除不良数据。

对于搜索问题,我们需要查看代码以确定其无法正常工作的原因。您可以添加模型和搜索代码吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?