Python “模型”对象没有属性“id”

Python “模型”对象没有属性“id”,python,django,Python,Django,我正在Django中创建一个项目,但遇到了问题,我试图获取数据库中对象的ID,但当我运行它时,该对象似乎没有ID。以下是我的模型: from __future__ import unicode_literals from django.db import models class film(models.Model): filmName = models.CharField(primary_key=True, max_length=120) quot

我正在Django中创建一个项目,但遇到了问题,我试图获取数据库中对象的ID,但当我运行它时,该对象似乎没有ID。以下是我的模型:

from __future__ import unicode_literals

from django.db import models

    class film(models.Model):

        filmName = models.CharField(primary_key=True, max_length=120)
        quotient = models.FloatField()
        rating = models.FloatField()
        gross = models.IntegerField()
        star = models.CharField(max_length=120)
        releaseDate = models.DateField()

        def __unicode__(self):
            return self.filmName
在我看来:

objects = film.objects.filter(filmName__startswith=letter)
for object in objects:
    print object.id

我收到一个错误,说id不存在,我不知道为什么你明确告诉Django filmName是主键,所以没有单独的id


不过,这样做通常不是一个好主意。

您明确告诉Django filmName是主键,因此没有单独的ID


不过,这样做通常不是个好主意。

啊,好的,谢谢你的回复,所以如果我将filmName更改为just unique=true,应该可以吗?如果我这样做,我还必须重置数据库吗?是的,而且可能;您可能可以通过迁移来管理它,但最好从零开始。我尝试运行迁移,但它似乎把数据库搞砸了,我该如何从零开始?您使用的是sqlite吗?如果是这样的话,只需删除db.sqlite3文件,以及migrations目录的内容。啊,好的,谢谢你的回复,那么如果我将filmName更改为just unique=true,应该可以吗?如果我这样做,我还必须重置数据库吗?是的,而且可能;您可能可以通过迁移来管理它,但最好从零开始。我尝试运行迁移,但它似乎把数据库搞砸了,我该如何从零开始?您使用的是sqlite吗?如果是这样,只需删除db.sqlite3文件,以及migrations目录的内容。