我有一个用户、管理员和员工模型,员工和管理员都与具有 oneToOne 字段的用户模型相关我想做的是在管理员表单中我有一个字段“用户”
而不是下拉字段所有用户我都希望有一个搜索框,这样当我搜索特定用户时,我会找到他并选择他作为管理员。
如何?
我也尝试将用户的字段添加到管理员的表单,但我不能
尝试内联的东西,管理员模型中的 parent_link ......但我找不到解决方案
现在我想通过长用户最小化搜索通过在字段中添加搜索框来列出
问问题
682 次
2 回答
1
我已经使用django-ajax-selects包解决了这类问题。希望这会帮助你。
应用程序/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__'
设置.py
AJAX_LOOKUP_CHANNELS = {
'users' : {'model': 'auth.user', 'search_field': 'username'},
}
于 2017-08-22T05:52:42.520 回答
0
使用 django 的raw_id_fields。有了它,您可以声明可搜索的外键对象。
于 2017-08-22T04:36:16.967 回答