Django 1.11 管理表单将搜索框添加到 oneToOne 字段

标签 django python-3.x django-admin django-1.11

我有一个用户、管理员和员工模型,员工和管理员都与具有 oneToOne 字段的用户模型相关,我想做的是在管理表单中我有一个字段“用户”
< br/> 我不想有一个包含所有用户的下拉字段,而是希望有一个搜索框,这样当我搜索特定用户时,我可以找到他并选择他作为管理员。

怎么办?
我还尝试将用户字段添加到管理员表单中,但我做不到
我尝试了内联的东西,管理员模型中的parent_link...但我找不到解决方案
现在我想通过向字段添加搜索框来最小化对长用户列表的搜索

最佳答案

我已经使用 django-ajax-selects 解决了此类问题包裹。希望对你有帮助。

app/admin.py:

from ajax_select import register, LookupChannel

@register('users')
class UsersLookup(LookupChannel):

    model = User

    def get_query(self, q, request):
          return self.model.objects.filter(username__icontains=q)

class EmployeeAdminForm(forms.ModelForm):
    user = AutoCompleteSelectField('users', required=False, 
                                  help_text=None)

    class Meta:
         model = Employee
         fields = '__all__'

settings.py

AJAX_LOOKUP_CHANNELS = {
    'users'  : {'model': 'auth.user', 'search_field': 'username'},
}

关于Django 1.11 管理表单将搜索框添加到 oneToOne 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45808776/

相关文章:

python - Django:重写 get_queryset() 时如何注入(inject)数据?

django - django 中的模型完整性检查

django - has_delete_permission 在 django admin inline 中获取父实例

Python 脚本不遍历数组

django - “用户”对象没有属性 'is_staff'

django - 将样式表链接到 Django 模板

python - 如何在 tkinter 中的用户输入之间等待一段时间?

django - 如何正确使用django内置登录 View

django - 更好的ArrayField管理小部件?

Python 多处理 - 为什么我的进程没有返回/完成?