python - 一旦我在 django 中激活模型,为什么我不能直接在 postgresql pgAdmin UI 中查询它们?

标签 python django postgresql

我对 Django 和一般的 Web 编程非常陌生。所以,我为这个愚蠢的问题道歉。我使用 django 作为 python 框架,并且已经与我的数据库 Postgresql 建立了连接:

    DATABASES = {
        'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'testdb',
        'USER': 'postgres',
        'PASSWORD': '****',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

之后我运行了python manage.py migrate命令,它输出一切正常。我还创建了模型:

class Albums(models.Model):
    artist = models.CharField(max_length=250)
    album_title = models.CharField(max_length=500)
    genre = models.CharField(max_length=100)
    album_logo = models.CharField(max_length=1000)

class Song(models.Model):
    albums = models.ForeignKey(Albums, on_delete=models.CASCADE)
    file_type = models.CharField(max_length=10)
    song_title = models.CharField(max_length=250)

之后,我运行命令 python manage.py makemigrations,它输出它可以工作。然后,我运行命令 python manage.py migrate 并输出一切正常。

我想知道为什么,当我进入 pgAdmin 中的数据库并使用 SELECT * FROM Albums 查询数据时,它甚至无法识别该关系。

这可能不是测试表是否已创建的正确方法,但是任何人都可以帮助我并告诉我为什么它们不在 pgAdmin UI 中创建吗?

另外,我如何检查表的创建位置?

提前谢谢您。

最佳答案

表名称会有点不同,它不会与模型名称相同。它将是“app_model”。所有字符均为小写。在此示例中,您的查询将是:

SELECT * FROM 'app'_albums

请将“app”替换为您的小写应用名称

正如您所说,您是网络开发新手,请尝试

\dt *.*

这将列出数据库中的所有表。

关于python - 一旦我在 django 中激活模型,为什么我不能直接在 postgresql pgAdmin UI 中查询它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41360568/

相关文章:

python - 如何有效地访问另一个可迭代的 Python 可迭代索引证明

python - Django Admin list_display 添加列【统计相关外键的记录】

sql - PostgreSQL SQL语句生成自定义blob存储表

python - 当我运行测试用例时,出现此错误 : psycopg2. OperationalError: cursor "_django_curs_140351416325888_23"does not exist

postgresql - 为什么 psql 找不到现有表的关系名称?

Python-验证生成的幂集

Python查找两个列表的最小值和最大值

python - 在 python 中的函数中使用 __import__() 函数

django - 如何集成 Django 和 react-router-dom?

postgresql - DISTINCT ON (col) col_alias – 别名不起作用