Friday, September 6, 2019

Re: AttributeError 'QuerySet' object has no attribute 'expenses'

Hi Kean,

 Write manager like this ,I give you reference

from django.db import models
 # First, define the Manager subclass. 
class BhoopeshBookManager(models.Manager):
   def get_queryset(self): 
        return super(BhoopeshBookManager, self).get_queryset().filter(author='Bhoopesh') 

# Then hook it into the Book model explicitly. class Book(models.Model): 
title = models.CharField(max_length=100) 
author = models.CharField(max_length=50)
 # ... 
objects = models.Manager()
 # The default manager. 

bhoopesh_objects = BhoopeshBookManager()
 # The Bhoopesh-specific manager.


Book.bhoopesh_objects.all() # use manager


Thanks 
Bhoopesh Kumar


On Sat, Sep 7, 2019, 12:34 AM Bhoopesh sisoudiya <bhoop23sis@gmail.com> wrote:
Hi kean,
    Please check Expenses Class is not Manager
    Please make Manager Class.


Thanks
Bhoopesh sisoudiya

On Sat, Sep 7, 2019, 12:20 AM Kean <keanld1@gmail.com> wrote:
Hi, 

New to Django. when navigating to the reqired view, I get the error above.

urls.py

path('businesslogin/businessadmin/busproject', views.projectdetail, name='projectdetail'),

views.py

def projectdetail(request):
    project = Project.objects.all()
    return render(request, 'busprojectdetail.html', {'project': project, 'expense_list': project.expenses.all()})

models.py

# Project model

class Project(models.Model):
    name = models.CharField(max_length=100)
    budget = IntegerField()

    def save(self, *args, **kwargs):
        self.name
        super(Project, self).save(*args, **kwargs)

# Category manager model


class Category(models.Model):
    project = models.ForeignKey(
        Project, on_delete=models.CASCADE)
    name = models.CharField(max_length=150)


# Expenses manager model

class Expense(models.Model):
    project = models.ForeignKey(
        Project, on_delete=models.CASCADE, related_name='expenses')
    title = models.CharField(max_length=100)
    amount = models.DecimalField(max_digits=8, decimal_places=2)
    category = models.ForeignKey(Category, on_delete=models.CASCADE)

the error is as follows:


Exception Type:AttributeError
Exception Value:
'QuerySet' object has no attribute 'expenses'
Exception Location:/Users/ProductionEnv/Desktop/test/test1/dev/core/views.py in projectdetail, line 238

Please can anyone help?

Best 

K

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/024bc998-b683-41ae-90e2-d33f4527913a%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAAk3c1NmgbP7cQtyX8uOAFX%3DXbyC6f2ug1FURabwxRgD44Mwpg%40mail.gmail.com.

No comments:

Post a Comment