Python 一个类的结果如何可以在另一个类中使用
类SearchResultsView(ListView): 模型=用户 template_name='all_users/doctor/search.html'Python 一个类的结果如何可以在另一个类中使用,python,django,Python,Django,类SearchResultsView(ListView): 模型=用户 template_name='all_users/doctor/search.html' def get_queryset(self): # new query = self.request.GET.get('q') object_list = User.objects.filter(Q(username__icontains=query)) return object_list class Po
def get_queryset(self): # new
query = self.request.GET.get('q')
object_list = User.objects.filter(Q(username__icontains=query))
return object_list
class PostCreateView(LoginRequiredMixin, CreateView):
template_name = 'all_users/doctor/post_form.html'
model = Post
fields = ['title', 'content']
def form_valid(self, form):
form.instance.author = self.request.object_list
return super().form_valid(form)
尝试在创建视图中添加获取上下文数据并传递到模板
def get_context_data(self, **kwargs):
query = self.request.GET.get('q')
context['object_list'] = User.objects.filter(Q(username__icontains=query))
return context
或者在表单模板中,使用搜索url添加带有操作属性的表单标记谢谢您的建议。我尝试了这个方法,它不起作用,但使用相同的逻辑,我得到了object_list的值。是否有任何方法将对象列表值转换为“用户”实例。要代替form.instance.author=object\u列表保存数据,如果是另一个问题,请在stackoverflow.user上单独提问。您可以从form.instance.author=self.request.userYes form.instance.author=self.request.user获取数据。用户将数据保存在登录用户id下,但我希望它保存在搜索结果[query=self.request.get.get('q')下object\u list=User.objects.filter(Q(username\u icontains=query))]用户id。当我尝试使用object\u list代替self.request.User时,它给出了一个错误,即它必须是“User”实例。我想知道是否可以这样做,或者是否有其他方法可以这样做