Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python “pk”和“id”之间有什么不同吗?_Python_Django - Fatal编程技术网

Python “pk”和“id”之间有什么不同吗?

Python “pk”和“id”之间有什么不同吗?,python,django,Python,Django,当我阅读源代码时,我发现函数usepkto as关键字用于选择数据: 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, }

当我阅读源代码时,我发现函数use
pk
to as关键字用于选择数据:

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)

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

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

差异:


但是您可以手动设置
pk
,然后它可能不是django中的
id
字段,
id
字段默认为
pk
,因此您可以同时使用这两个字段

差异:


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

您是否尝试过签入文档?您是否尝试过签入文档?