问题解决:django模型查询报错,找不到数据库表

django项目,使用的postgresql数据库,建了多个模式,模型查询时一直默认查public的表

1. 问题

django.db.utils.ProgrammingError: relation "ip_management_app.table" does not exist

2. 代码:

python 复制代码
class IpTag(models.Model):
    id = models.AutoField(primary_key=True)
    update_time = models.BigIntegerField()
    user_id = models.IntegerField()
    tab_type = models.IntegerField(default=1)
    tag = models.CharField(max_length=150)
    prefix_id = models.IntegerField()

    class Meta:
        managed = False
        db_table = 'ip_tag'


IpTag.objects.all()

3. 解决方案

(1)使用的django2.0,settings文件中修改数据库配置,增加OPTIONS

python 复制代码
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': '',
        'USER': '',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '5432',
        'OPTIONS': {
            'options': '-c search_path=ip_management_app,public'
        }
    }
}

(2)其他方案

python 复制代码
class IpTag(models.Model):
    id = models.AutoField(primary_key=True)
    update_time = models.BigIntegerField()
    user_id = models.IntegerField()
    tab_type = models.IntegerField(default=1)
    tag = models.CharField(max_length=150)
    prefix_id = models.IntegerField()

    class Meta:
        managed = False
        db_table = 'ip_management_app.ip_tag'


IpTag.objects.all()

修改db_table,有这样的解决方案,但是对我没有效果,不知是否django版本问题,有问题的可以都试下,第一种解决了我的问题

相关推荐
snow@li7 小时前
数据库:市场中都有哪些数据库 / 优缺点 使用情况
数据库
kishu_iOS&AI7 小时前
深度学习 —— 损失函数
人工智能·pytorch·python·深度学习·线性回归
好运的阿财7 小时前
OpenClaw工具拆解之canvas+message
人工智能·python·ai编程·openclaw·openclaw工具
wengqidaifeng7 小时前
python启航:1.基础语法知识
开发语言·python
NoSi EFUL7 小时前
MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
android·数据库·mysql
观北海7 小时前
Windows 平台 Python 极简 ORB-SLAM3 Demo,从零实现实时视觉定位
开发语言·python·动态规划
河阿里7 小时前
SQL数据库:五大范式(NF)
数据库·sql·oracle
FreakStudio8 小时前
做了个Claude Code CLI 电子宠物:程序员的实体监工代码搭子
python·单片机·嵌入式·面向对象·并行计算·电子diy·电子计算机
柴米油盐那点事儿8 小时前
python+mysql+bootstrap条件搜索分页
python·mysql·flask·bootstrap
AC赳赳老秦8 小时前
OpenClaw二次开发实战:编写专属办公自动化技能,适配个性化需求
linux·javascript·人工智能·python·django·测试用例·openclaw