Write this

Expense.objects.select_related('project').all()



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

> Thanks,
>
> I updated the view, and now I am getting syntax error.
> Please see below.
>
> views.py
>
> def projectdetail(request):
>     project = Project.objects.all()
>     return render(request, 'busprojectdetail.html', {'project': project,
> 'expense_list': project.expenses.all()})
>
>     projectDetails = Project.objects.select_related(Project).values(select
> column).all()
>
> please advise how to correct?
>
> Best,
>
> Kean
>
> On 6 Sep 2019, at 21:01, Bhoopesh sisoudiya <[email protected]> wrote:
>
> 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
> <https://groups.google.com/d/msgid/django-users/CAAk3c1OiCB0YW_5%2B2CcjFGJzBytRpOmKCw%3D3f_C2w-0JuESnvA%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/79DB1D00-AF66-4584-B635-7C22F9673733%40gmail.com
> <https://groups.google.com/d/msgid/django-users/79DB1D00-AF66-4584-B635-7C22F9673733%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/CAAk3c1OmNHiqVgvQMHj16wiMPr23hy%3DfU%2BE4WFH8sDixpiVx5w%40mail.gmail.com.

Reply via email to