django没有为.id或.pk返回任何值

use*_*470 0 django django-models

我只是逐字地关注一个Django教程,并且遇到了查询x.id或者.pk根本没有返回任何值的问题.这是在该表中的所有行,尽管所有其他数据都在工作.下面的例子来自我的python shell.

>>> 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
>>> 
Run Code Online (Sandbox Code Playgroud)

我被引导相信idDjango会自动处理?

wen*_*isa 8

您的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
Run Code Online (Sandbox Code Playgroud)

有关更详细的说明,请参阅Django模型实例参考文档.