小编Sri*_*van的帖子

如何使用django.forms从模型中的行预填充选择字段?

我的表单类中有一个ChoiceField,可能是一个用户列表.如何使用我的用户模型中的用户列表预填充此列表?

我现在拥有的是:

class MatchForm(forms.Form):

  choices = []

  user1_auto = forms.CharField()
  user1 = forms.ChoiceField(choices=choices)
  user2_auto = forms.CharField()
  user2 = forms.ChoiceField(choices=choices)

  def __init__(self):
      user_choices = User.objects.all()
      for choice in user_choices:
          self.choices.append(
              (choice.id, choice.get_full_name())
          )
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用(否则我不会在这里).思考?

为了澄清,当我尝试在模板中渲染此表单时,它只是输出任何内容,除非我删除ChoiceFields和__init__()方法.

另外,如果我只想在我的字段中列出用户的全名,该怎么办?也就是说,我想控制每个用户对象的显示输出(所以ModelChoiceField不是一个选项).

python django django-models django-forms

6
推荐指数
1
解决办法
1万
查看次数

使用django-haystack,如何仅使用部分术语执行搜索?

我有一个Haystack/xapian搜索索引django.contrib.auth.models.User.模板很简单

{{object.get_full_name}}
Run Code Online (Sandbox Code Playgroud)

因为我打算让用户输入名称并能够搜索它.

我的问题是:如果我搜索(比如说)Sri(我的完整名字),我会得到一个与我的名字有关的用户对象的结果.但是,如果我搜索Sri Ragh- 也就是我的全名,以及我姓氏的一部分,我就没有结果.

如何设置Haystack以便我可以获得部分查询的相应结果?(我基本上希望它能够搜索*Sri Ragh*,但我不知道通配符是否会真正发挥作用,或者如何实现它们).

这是我的搜索查询:

results = SearchQuerySet().filter(content='Sri Ragh')
Run Code Online (Sandbox Code Playgroud)

django django-haystack

2
推荐指数
1
解决办法
2019
查看次数