我正在从我的数据库中搜索某些内容。 我不确定返回结果的方式。
它没有出现任何东西..
但是在CMD上,我可以看到用户的电子邮件因为
而搜索了Mother_languageprint(MyUser.objects.filter(Mother_language__contains=Mother_language))
在视图中
这是我的模特
class MyUser(AbstractBaseUser):
email = models.EmailField(
verbose_name='email address',
max_length=255,
unique=True,
)
username = models.CharField(max_length = 30, unique = True, null = False)
Nationality =models.CharField(max_length = 30,choices= Country_choice,null = False)
Mother_language = models.CharField(max_length = 30,choices= Language_list,null = False)
Wish_language =models.CharField(max_length = 30,choices= Language_list,null = False)
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)
picture = models.ImageField(upload_to='profile_images',blank=True)
objects = MyUserManager()
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['username','Nationality','Mother_language','Wish_language','picture']
这是我的表格
class SearchForm(forms.ModelForm):
class Meta:
model = MyUser
fields = ('Mother_language','Nationality')
这是我的观点
def index(request):
print "entered"
form = SearchForm(request.POST or None)
if request.method == "POST" and form.is_valid():
Mother_language = form.cleaned_data['Mother_language']
Nationality = form.cleaned_data['Nationality']
MyUser.objects.filter(Mother_language__contains=Mother_language)
MyUser.objects.filter(Nationality__contains=Nationality)
print(MyUser.objects.filter(Mother_language__contains=Mother_language))
return render(request, "LanguageExchange/index.html", { "MyUser": MyUser})
print(form.as_table())
return render(request, "LanguageExchange/index.html", { "form": form,})
这是我的index.html
<form id="form" method="get" action="{% url 'index' %}"enctype="multipart/form-data">
{% csrf_token %}
{{form.as_table}}
<input type="submit" value="submit" />
<br>
答案 0 :(得分:0)
您忘记将查询集的结果捕获到局部变量中,并在上下文中发送 而不是MyUser
- 类本身。
更改
MyUser.objects.filter(Mother_language__contains=Mother_language)
到
myuser_qs = MyUser.objects.filter(Mother_language__contains=Mother_language)
然后
return render(request, "LanguageExchange/index.html", { "MyUser": MyUser})
到
return render(request, "LanguageExchange/index.html", { "MyUser": myuser_qs})