我在一个名为PortfolioView
的列表视图中。我试图检索用户输入到模型中的所有项目,该模型名为“Prospect”。为此,我尝试以下方法:
def get_context_data(self, **kwargs):
Prospect.objects.all().filter(owner__username=self.request.user)
context = MakeGraphs(Prospect.psuccess, Prospect.hc_type)
return super(PortfolioView, self).get_context_data(**context)
但是,当我运行函数MakeGraphs
时,我得到一个错误,说操作不能在延迟属性上运行。我不明白为什么它作为延迟属性返回。在
建议?在
编辑:为了清楚起见,下面是我在MakeGraphs
函数中所做的近似操作:
因此,它接受两个变量的列表,并为每个返回的变量返回一个值。在
编辑2: 使用查询时:
def get_context_data(self, *args, **kwargs):
a = Prospect.objects.filter(owner=self.request.user).first()
我得到了第一条记录的值,其中owner=user,如预期的那样。但是,我想得到所有的值的psucess和hc_类型。。。在
如果我试试这个:
def get_context_data(self, *args, **kwargs):
a = Prospect.objects.filter(owner=self.request.user)
我得到一个'QuerySet'对象没有属性'psaccess'错误。。。在
编辑3: 对于返回单个值的属性,或者返回了多个属性,并且可以一次使用一个属性而不是一次使用所有属性,则标记为解决方案的答案将有效。在
但是,如果需要列表形式的每个属性的所有值,则应将此用于查询: yourvar=列表(MyModel.objects.filter(所有者=self.request.user).values\u list('yourvar'))
您需要有一个
Prospect
对象实例。模型字段属性是“延迟属性”。在即
相关问题 更多 >
编程相关推荐