gpt4 book ai didi

django autocomplete_fields 在 TabularInline 中不起作用(但在 StackedInline 中起作用)

转载 作者:行者123 更新时间:2023-12-05 07:24:35 26 4
gpt4 key购买 nike

我正在尝试在 TabularInine 中使用自动完成字段

在我的代码下面:

class PersonInstitutionsInline(admin.TabularInline):
autocomplete_fields = ['institution']
model = PersonInstitution
extra = 0

当渲染下拉列表是空的,没有错误(javacsript 或 python)

如果我将它与 StackedInline 一起使用,它会正常工作

在检查模板时,我怀疑它与 stacked.html 使用 {% include "admin/includes/fieldset.html"%} 但 tabular.html 使用的事实有关{{ field.field }}

另外,如果我尝试在任何内联中使用 django-autocomplete-light 表单

inlines.js:20 Uncaught TypeError: Cannot read property 'fn' of undefined
at inlines.js:20
at inlines.js:298

在 python 中的错误

MediaOrderConflictWarning: Detected duplicate Media files in an opposite order:
admin/js/autocomplete.js
admin/js/admin/DateTimeShortcuts.js
MediaOrderConflictWarning,

我正在使用 Django 版本 2.1.7

有没有人遇到过类似的问题,或者有解决办法吗?

目前我使用的解决方法是 StackedInline,并将它们全部放在同一个字段集中......但我认为应该有更好的解决方案。

谢谢

最佳答案

你可以使用 django-autocomplete-lighthttps://django-autocomplete-light.readthedocs.io/en/master/tutorial.html

from dal import autocomplete

from django import forms


class PersonForm(forms.ModelForm):
class Meta:
model = Person
fields = ('__all__')
widgets = {
'birth_country': autocomplete.ModelSelect2(url='country-autocomplete')
}

Using autocompletes in the admin We can make ModelAdmin to use ourform, ie:

from django.contrib import admin

from your_person_app.models import Person
from your_person_app.forms import PersonForm


class PersonAdmin(admin.ModelAdmin):
form = PersonForm

admin.site.register(Person, PersonAdmin)

Note that this also works with inlines, ie:

class PersonInline(admin.TabularInline):
model = Person
form = PersonForm

关于django autocomplete_fields 在 TabularInline 中不起作用(但在 StackedInline 中起作用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55324535/

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