在使用Django的时候,我们有时候会发现 objects.get(id=id) 和 objects.get(id=pk) 得到的解结果是一样的,那么通过pk 和id 来进行操作有什么区别呢?
其实在我们创建一个新的models实例时,如果我们没有设置主键,那么Django会自动帮我们创建一个id字段作为该模型的主键,所以这个时候,pk 也就等于 id 了.如果我们想要自己设置一个主键比如姓名,那么我们可以在实例化字段的时候,将primary_key设置为True 即:
name = models.CharField(max_length=30,primary_key=True)
那么这个时候,id就不是主键了,则id 和name查询到的就不太一样了.
是使用id还是使用pk查找呢?
最新推荐文章于 2021-04-06 14:21:38 发布