gpt4 book ai didi

python - 是否可以通过 django-nonrel/Google App Engine 中的主键获取对象?

转载 作者:太空宇宙 更新时间:2023-11-03 19:27:26 25 4
gpt4 key购买 nike

我正在尝试检索模型对象,如下面的代码:

(r'^album/(?P<album_id>\w+)/$', 'core.views.album'),

def album(request, album_id):
album = Album.objects.get(pk=album_id)

问题在于 PK 不是整数:

>>> a = Album.objects.all()[0]
>>> a.pk
46L

运行 View 时遇到的错误:

ValueError at /album/46L/
invalid literal for int() with base 10: '46L'

想法?谢谢。

最佳答案

46L 是一个长整数,而不是字符串,因此您应该将其视为数字而不是 urls.py 中的单词:

(r'^album/(?P<album_id>\d+)/$', 'core.views.album'),

那么 url /album/46/ 最终将调用:

def album(request, album_id):
#album = Album.objects.get(pk=46L)
album = Album.objects.get(pk=album_id)

或者,如果您出于某种原因需要在网址中保留“L”,请在使用之前将其转换为 long:

album = Album.objects.get(pk=long(album_id))

关于python - 是否可以通过 django-nonrel/Google App Engine 中的主键获取对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7577451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com