Django Admin Page raise 404 when using autocomplete_fields
Django的管理后台采用autocomplete_fields
来优化一对多字段代码大致如下
# models.py
class Category(BaseModel):
title = models.CharField("分类名", max_length=32)
class Goods(BaseModel):
category = models.ForeignKey(
Category, on_delete=models.SET_NULL, null=True, blank=True, verbose_name="类别"
)
# admin.py
@admin.register(Goods)
class GoodsAdmin(admin.ModelAdmin):
list_filter = ["category"]
autocomplete_fields = ["category"]
...
新增时, 报了The results can not be loaded.
如下图
按F12查看开发者工具, 发现是autocomplete那个接口报了404
原因
category的admin中未配置search_fields
解决
# admin.py
@admin.register(Category)
class CategoryAdmin(admin.ModelAdmin):
search_fields = ["title"]
...
===========
$$$$$$$$$$$
∗
∗
好
多
钱
∗
∗
**好多钱**
∗∗好多钱∗∗$$$$$$$$$$$
===========
- 2021-11-28 今天又遇到类似的,但是报403的,如下图
这种之前处理过,此刻却记不起来是怎么解决的了
必应了一下django autocomplete 403
没有搜到我要的答案(某度的一些行为恶心到了我,所以跟它有关的产品,都是能不用尽量不用)
现在搜索技术类的,首选gg,再是bing,也试过国产的sogou,但感觉它还任重道远。
写博客的过程中,突然想起上次是怎么解决的了,其实问题产生是因为Django从3.1升级到3.2后,有个js文件修改了,但是浏览器缓存了旧版的,执行以下几步操作就好了
- 重新归集静态文件
python manage.py collectstatic --no-input
- 清除浏览器缓存
按Crtl+Shift+R强制刷新
或勾选开发者工具里的disable cache后点击刷新按钮