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

According to me by this archive you want expense details of each project

Then you write

projectDetails = Project.objects.select_related(your foreign key).values
(select column).all()

Thanks
Bhoopesh sisoudiya


On Sat, Sep 7, 2019, 1:22 AM Kean <[email protected]> wrote:

> Hi,
>
> please ignore the manager it is just a naming convention ignore, it if for
> me to identify tables, if i have 50 table, I want to be able to know which
> model is holding which object information and for what I need it.
>
> Please use below, I have removed the # information to reduce confusion.
>
> models.py
>
> 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)
>
> class Category(models.Model):
>     project = models.ForeignKey(
>         Project, on_delete=models.CASCADE)
>     name = models.CharField(max_length=150)
>
> 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)
> On 6 Sep 2019, at 20:45, Bhoopesh sisoudiya <[email protected]> wrote:
>
> Best wishes,
> Kean
>
> Ok No problem but
> why you want Manager?
>
> Please send me answer
>
> Thanks
> Bhoopesh sisoudiya
>
> On Sat, Sep 7, 2019, 1:06 AM Kean <[email protected]> wrote:
>
>> Hi Bhoopesh
>> Thanks for this, please can you put it into the context of my specific
>> model setup, so I get it right and understand.
>> This will be easier for me as this approach is causing me some other
>> errors, when i try to apply it.
>>
>> Best wishes,
>>
>> Kean
>> On 6 Sep 2019, at 20:19, Bhoopesh sisoudiya <[email protected]> wrote:
>>
>> 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 <[email protected]>
>> 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 <[email protected]> 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 [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/django-users/024bc998-b683-41ae-90e2-d33f4527913a%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/django-users/024bc998-b683-41ae-90e2-d33f4527913a%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>
>> --
>> 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 [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/django-users/CAAk3c1NmgbP7cQtyX8uOAFX%3DXbyC6f2ug1FURabwxRgD44Mwpg%40mail.gmail.com
>> <https://groups.google.com/d/msgid/django-users/CAAk3c1NmgbP7cQtyX8uOAFX%3DXbyC6f2ug1FURabwxRgD44Mwpg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>>
>>
>> --
>> 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 [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/django-users/52D49AAA-5E17-4F6C-92DE-E1576F305927%40gmail.com
>> <https://groups.google.com/d/msgid/django-users/52D49AAA-5E17-4F6C-92DE-E1576F305927%40gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>
> --
> 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 [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/CAAk3c1PtFX7oNie8qZKF%3Dm7jFrCEMwTZfn%2BcvWBFSqc9FT0h4A%40mail.gmail.com
> <https://groups.google.com/d/msgid/django-users/CAAk3c1PtFX7oNie8qZKF%3Dm7jFrCEMwTZfn%2BcvWBFSqc9FT0h4A%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
>
> --
> 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 [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/06BE184B-33E5-4B84-A723-5C7075048349%40gmail.com
> <https://groups.google.com/d/msgid/django-users/06BE184B-33E5-4B84-A723-5C7075048349%40gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAAk3c1OiCB0YW_5%2B2CcjFGJzBytRpOmKCw%3D3f_C2w-0JuESnvA%40mail.gmail.com.

Reply via email to