首页 > 解决方案 > 更改显示记录在数据库中的显示方式

问题描述

我正在尝试在跟踪订单上创建网络应用程序。我对如何向我的用户分配订单的方式有疑问。如果我将很多用户添加到数据库中,则下拉菜单看起来不是很好,并且需要很长时间才能找到正确的用户。有什么方法可以将下拉菜单更改为搜索栏,该搜索栏将根据字符串输入找到用户?

这是我创建 MyUser 和 Order 的 models.py。

class MyUser(models.Model):
    id = models.CharField(max_length=7)
    first_name= models.CharField(max_length=50)
    second_name = models.CharField(max_length=50)

 class Objednavka(models.Model):
    user = models.ForeignKey(MyUser, on_delete=models.CASCADE)
    order = models.CharField(max_length=11)

视图.py

class CreateOrder(generic.edit.CreateView):
form_class = OrderForm
template_name = "url.html"

def get(self, request):
    form = self.form_class(None)
    return render(request, self.template_name, {"form": form})

def post(self, request):
    form = self.form_class(request.POST)
    if form.is_valid():
        form.save(commit=True)
        messages.success(request, f'Order has been created successfully')
    return render(request, self.template_name, {"form": form})

标签: djangopython-3.x

解决方案


据我所知,Django 不提供这种选择器,但实现添加外部应用程序并不难。

看看这个(我个人使用的那个):https ://django-autocomplete-light.readthedocs.io/en/master/

自动完成字段的示例。


推荐阅读