2017-08-17 70 views
0

我只是按照其中一個Django教程逐字,並遇到x.id.pk根本沒有返回任何值的查詢問題。這是跨表中的所有行,儘管所有其他數據都在工作。下面的例子來自我的python shell。django沒有爲.id或.pk返回任何值

>>> c = Album(artist="Stone Roses", album_title="The Stone Roses", genre="Indie", album_logo="http://www.classicrockreview.com/Images/1989/AlbumCovers/1989_StoneRos es.jpg") 

>>> c 
<Album: Album object> 
>>> c.id 
>>> c.artist 
'Stone Roses' 
>>> c.pk 
>>> 

我被引導認爲id被Django自動照顧?

+0

你節省檢查的ID前的對象? –

+0

我做了,這只是作爲一個例子。試圖擦拭,並開始一個全新的數據庫和同樣的事情。 – user8467470

+0

下面是我試圖妥善保存的內容: >>> a = Album(artist =「Oasis」,album_title =「Definitely Maybe」,genre =「Indie」,album_logo =「none」)>>> a。 save > >>> - user8467470 3分鐘前編輯 – user8467470

回答

7

Album對象當前沒有保存到數據庫中,以便它沒有id呢。你需要調用object.save()爲了做到這一點:

>>> c = Album(...) 
>>> c.id  # Object is not yet saved to the database so it has no id 
None 
>>> c.save() # Save object to the database 
>>> c.id  # Object's valid id 

進行更詳細的解釋,請參閱Django model instance reference docs

+0

謝謝 - 我沒有在那一個,但有一個和我可以呼籲除了a.id b.id等 – user8467470

+0

啊,我只是注意到以下消息從保存: – user8467470

+0

>>> a = Album(artist =「Oasis」,album_title =「Definitely Maybe」,genre =「Indie」,album_logo =「none」) >>> a.save <絕對也許 - 綠洲 - 獨立>> >>> – user8467470