Python 在django Nonl/Google应用程序引擎中,是否可以通过主键获取对象?

Python 在django Nonl/Google应用程序引擎中,是否可以通过主键获取对象?,python,django,google-app-engine,django-nonrel,Python,Django,Google App Engine,Django Nonrel,我正在尝试检索一个模型对象,如下代码所示: (r'^album/(?P<album_id>\w+)/$', 'core.views.album'), def album(request, album_id): album = Album.objects.get(pk=album_id) 运行视图时出现的错误: ValueError at /album/46L/ invalid literal for int() with base 10: '46L' 想法?谢谢。46L

我正在尝试检索一个模型对象,如下代码所示:

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

def album(request, album_id):
    album = Album.objects.get(pk=album_id)
运行视图时出现的错误:

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

想法?谢谢。

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

(r'^album/(?P<album_id>\d+)/$', 'core.views.album'),
或者,如果出于某种原因需要在url中保留“L”,请在使用前将其强制转换为:

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

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

(r'^album/(?P<album_id>\d+)/$', 'core.views.album'),
或者,如果出于某种原因需要在url中保留“L”,请在使用前将其强制转换为:

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

该问题与URL/视图无关。每次我执行“runserver”时,我的本地数据存储都会被擦除。因此,我在使用“shell”时能够检索到的数据没有正确同步

之所以发生这种情况,是因为出于某种奇怪的原因,我在settings.py上注释了这一行(并且忘记了):

AUTOLOAD_SITECONF = 'indexes'

该问题与URL/视图无关。每次我执行“runserver”时,我的本地数据存储都会被擦除。因此,我在使用“shell”时能够检索到的数据没有正确同步

之所以发生这种情况,是因为出于某种奇怪的原因,我在settings.py上注释了这一行(并且忘记了):

AUTOLOAD_SITECONF = 'indexes'

这是我第一次尝试,错误为:DoesNotExist at/album/46/--album matching query不存在。尝试强制转换为long,但未成功:(不能转换为int()吗?album=album.objects.get(pk=int(album_id))。在长整型值变得太大之前,这将一直有效,但在您的示例中这是一个约束吗?您可能希望使用当前代码更新您的问题。这是我第一次尝试,错误为:DoesNotExist at/album/46/--album matching query不存在。尝试强制转换为长整型,但未成功。:(您不能转换为int()而是?album=album.objects.get(pk=int(album_id))。这会一直工作到长整型值变得太大为止,但在您的示例中这是一个约束吗?您可能希望使用当前代码更新您的问题