错误:无法将关键字“ id”解析为字段

时间:2019-09-24 06:17:48

标签: python django database

temp$species = NULL

在python manage.py shell命令中:

class Profile(models.Model):
    name=models.CharField(max_length=20, primary_key=True )
    age=models.IntegerField()

    def __str__(self):
        return self.name

class Like(models.Model):
    user=models.ForeignKey(Profile,on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    like=models.IntegerField(default=0)

    def __str__(self):
        return self.choice_text

但是,如果您按照www.djangoproject.com上的示例进行操作,您将看到p.id的结果为1。

由于我从未在数据库上工作过,因此可以帮助您理解数据库。

1 个答案:

答案 0 :(得分:5)

您的模型具有primary_key字段name

因此,如果您保存()您的模型,则将没有名为id的字段,因为如果您未定义任何字段,则这是默认的primary_key字段。

您可以通过primary_key(或obj.pk)访问obj.name