Django查询不支持的格式字符'“'(0x22)

时间:2018-07-11 15:23:51

标签: python django string sqlite

我正在将store_id字段从索引页面上的链接传递到视图,以便查找它并提供显示商店页面。我正在使用一个sqlite后端,但是Model.objcts.get()函数不会返回该对象。它将错误指向我的.get行:

ValueError at /store/1001946/
unsupported format character '"' (0x22) at index 192
Request Method: GET

我的观点.py

def store(request, store_id):
   print(type(store_id))
   sto = StoreStat.objects.get(storeid=store_id)
   return render(request, 'stores/store.html', {'store': sto})

我尝试将类型更改为整数,并通过编码播放,但是似乎没有任何效果。我也尝试过.filter(),因为它相似,但是却出现了相同的错误

我的应用网址

from django.urls import path, re_path

from . import views

urlpatterns = [
   path('', views.index, name='index'),
   path('store/<store_id>/',views.store, name='store')
]

项目网址

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
  path('', include('stores.urls')),
  path('admin/', admin.site.urls),
]

index.html

<ol>
      {% for store in top %}
          <li><a href="{% url 'store' store_id=store.storeid%}">{{ 
               store.storestorename }}</a></li>
      {% endfor %}
 </ol>

1 个答案:

答案 0 :(得分:0)

我解决了错误。我数据库中的一个字段包含一个%符号。 我不得不返回并重新命名没有该列的列,并且该列有效。 我想这把整个事情都丢了!