2016-12-28 15 views
1

我對Django &非常新,一般網頁編程。所以,我爲這個愚蠢的問題道歉。我使用的Django與蟒蛇&我已經和我的數據庫和PostgreSQL連接的框架:一旦我在django中激活模型,爲什麼我不能直接在postgresql pgAdmin UI中查詢它們?

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

之後,我跑了python manage.py migrate命令&它輸出的一切都OK。我也創建模型:

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用戶界面中創建的?

另外,如何查看錶的創建位置?

預先感謝您。

+2

表不是用類的確切名稱創建的,選擇db中的所有表,你會看到它們的名字像小寫'appname_classname' –

+0

@simonecittadini謝謝你的幫助! :)對不起,這個愚蠢的問題 – RPG

+0

@simonecittadini請張貼這個答案。 –

回答

4

表名稱會有點不同,它不會與型號名稱相同。這將是「app_model」。所有的字符都是小寫字母。在這個例子中,您的查詢將是:

SELECT * FROM 'app'_albums 

請在較低的情況下與你的應用程序名稱替換「應用」

正如你所說,你是新的網絡開發,嘗試

\dt *.* 

這將列出數據庫中的所有表。

相關問題