在`pk`和`id`之间有什么不同吗?

时间:2017-11-02 07:10:26

标签: python django

当我阅读源代码时,我发现函数使用pk作为关键字来选择数据:

def detail(request, album_id):
    try:
        album = Album.objects.filter(pk=album_id)
    except Album.DoesNotExist:
        raise Http404("Album does not exist")

    context = {
        "album":album,
    }

    return render(request, "music/detail.html", context)

我习惯使用id

album = Album.objects.filter(id=album_id)

那么,他们之间有什么不同吗?

1 个答案:

答案 0 :(得分:2)

在django id字段中默认为pk,因此您可以同时使用这两种字段。

<强>差:

但您可以手动设置pk,然后可能不是id字段