Django ';QuerySet';对象没有属性';用户';

Django ';QuerySet';对象没有属性';用户';,django,Django,我正在尝试从待定付款中进行查询,然后当用户请求付款时,我还希望从与登录用户对应的订单中进行检查。 这是获取撤消请求的代码: pending_requests = WithdrawRequest.objects.filter(status='pending') 从上面的pending_requests变量获取与用户对应的订单总数的代码,该变量为pending_requests。用户: #amount query AccBalance = OrderData.objects.filter

我正在尝试从待定付款中进行查询,然后当用户请求付款时,我还希望从与登录用户对应的订单中进行检查。 这是获取撤消请求的代码:

pending_requests = WithdrawRequest.objects.filter(status='pending')
从上面的pending_requests变量获取与用户对应的订单总数的代码,该变量为pending_requests。用户:

 #amount query
    AccBalance = OrderData.objects.filter(payment_to=pending_requests.user, payment_status='approved').aggregate(totals=Sum(F('item__price')*F('quantity')))
问题是我遇到了以下错误:

'QuerySet' object has no attribute 'user'
My full view.py代码:

def withdraw_requests(request):
pending_requests = WithdrawRequest.objects.filter(status='pending')
#amount query
AccBalance = OrderData.objects.filter(payment_to=pending_requests.user, payment_status='approved').aggregate(totals=Sum(F('item__price')*F('quantity')))

context = {'AccBalance':AccBalance,'pending_requests':pending_requests}
return render(request, 'accounts/withdraw_requests.html', context)
models.py:

class Order(models.Model):
    STATUS = (
      ('pending', 'pending'),
            ('delivered', 'delivered'),
      ('collected', 'collected'),
            ('progressing', 'progressing'),
      ('await', 'await'),
            
            ) 


    OPTIONS = (
            ('card', 'card'),
            ('momo', 'momo'),
            
            ) 
   
    ORDERTYPE = (
            ('single', 'single'),
            ('bulk', 'bulk'),
            
            )   
   
   
    
    user_id = models.ForeignKey(User, on_delete=models.CASCADE)
    status = models.CharField(max_length=250, null=True, choices=STATUS)
    txn_track = models.CharField(max_length=800, blank=False, unique=True)
    payment_method = models.CharField(max_length=250, choices=OPTIONS)
    order_type = models.CharField(max_length=250, default='', choices=ORDERTYPE)
    added_date = models.DateTimeField(auto_now_add=True)

    
     
    def __str__(self):
      return self.txn_track


class OrderData(models.Model):
  PAYMENTSTATUS = (
            ('withdrawn', 'withdrawn'),
            ('rejected', 'rejected'),
      ('approved', 'approved'),
      ('pending', 'pending'),
            
            )  
  item = models.ForeignKey(Item,  on_delete=models.CASCADE)
  order = models.ForeignKey(Order, on_delete=models.CASCADE)
  quantity = models.IntegerField()
  user = models.ForeignKey(User, on_delete=models.CASCADE)
  payment_to = models.ForeignKey(BusinessAccount, on_delete=models.CASCADE, null=True)
  payment_status = models.TextField(choices=PAYMENTSTATUS, default='approved')
  def __str__(self):
      return self.item.name

class WithdrawRequest(models.Model):
   STATUS = (
      ('pending', 'pending'),
            ('rejected', 'rejected'),
      ('approved', 'approved'),
            
            )  
   user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True,)
   business = models.ForeignKey(BusinessAccount,blank=True,  default='', null=True, on_delete=models.CASCADE)
   status = models.CharField(choices=STATUS, max_length=250, blank=True, default='pending')
   proceeded_by = models.IntegerField(blank=True,  default=0)
   account_id = models.CharField(max_length=500)
   payment_method = models.ForeignKey(PaymentMethod, on_delete=models.CASCADE)
   date_time = models.DateField( auto_now_add=True)

   def __str__(self):
       return self.user.first_name+' '+self.user.last_name+ ' ('+self.payment_method.name+'='+ self.account_id+')'
   

pending_请求
是一组(可能有许多)请求对象的查询集。它不是单个请求,并且没有
.user
属性。因此,您不能执行挂起的请求。用户。您可以获取单个实例上所有用户的集合:

pending_request_users = [pending_request.user for pending_request in pending_requests]
你可以用它来过滤你的订单数据

AccBalance = OrderData.objects.filter(
    payment_to__in=pending_request_users,
    payment_status='approved'
).aggregate(totals=Sum(F('item__price')*F('quantity')))

请共享相关模型。
.filter(payment_to=pending_requests.user,…)
此处
pending_requests
是一个查询集(一组
提取请求
实例),而不是
提取请求
的实例,你到底想在这里做什么?Hello@WillemVanOnsem我已经分享了我的模型。py我想使用pending_requests获取pending_请求中用户的详细信息。userYes这是有效的解决方案。