django不返回.id或.pk的任何值

django不返回.id或.pk的任何值,django,django-models,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/Album

我正在逐字阅读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
>>> 
>>c=专辑(艺术家=“石头玫瑰”,专辑标题=“石头玫瑰”,流派=“独立”,专辑标识=”http://www.classicrockreview.com/Images/1989/AlbumCovers/1989_StoneRos    (es.jpg)
>>>c
>>>身份证
>>>c.艺术家
“石玫瑰”
>>>c.pk
>>> 

我相信,
id
是由Django自动处理的?

您的
相册
对象当前未保存到数据库中,因此它还没有
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

有关详细说明,请参阅。

在检查id之前是否保存了对象?我保存了,这只是一个示例。尝试过擦除并启动一个全新的DB和相同的东西。以下是我从尝试正确保存中得到的结果:>>>a=Album(artist=“Oasis”,Album\u title=“肯定可能”,genre=“Indie”,Album\u logo=“none”)>>>>a.save>>>–用户8467470 3分钟前编辑对不起-我是个白痴!我忘记了saveThank上的括号了-我没有在那一个上,但是在a和b上,我可以在a.id b.id etcAh以外的地方调用,我刚刚注意到save中的以下消息:>>>a=Album(artist=“Oasis”,Album\u title=“肯定可能”,genre=“Indie”,Album\u logo=“none”)>>>>a.save>>对不起,我是个白痴!保存时我忘了带括号