擅长:python、mysql、java
<p>这里有些奇怪的事情:</p>
<ol>
<li>您发出POST请求,但是视图没有任何副作用,POST也不会传输任何数据。在这种情况下,GET更有意义</li>
<li>根据<code>success</code>句柄,结果看起来应该是一个带有键<code>onct</code>的字典;并且</li>
<li><code>urls.py</code>中的url不包含<code>door_id</code>参数。在</li>
</ol>
<p>通过在查询中使用<code>.values_list(..)</code>,我们还可以节省一点数据库带宽,并使视图更加优雅:</p>
<pre><code>def get_not_compat_options(request, door_id):
door = get_object_or_404(Door, id=door_id)
not_compat_options = door.not_comp_options
data = <b>{'onct': list(not_comp_options.all().values_list('name', flat=True))}</b>
return JsonResponse(data)</code></pre>
<p>然后,AJAX请求可能看起来像:</p>
^{pr2}$
<p>此外,<code>urls.py</code>应该看起来像:</p>
<pre><code>urlpatterns = [
# Other url patterns
path('get_not_compat_options/<b><int:door_id></b>', views.get_not_compat_options, name="get_not_compat_options")
]</code></pre>
<p>因为否则这个<code>path(..)</code>不能接受<code>door_id</code>。在</p>