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.
>>> 
>>> -- 
>>> 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.
>> 
>> 
>> -- 
>> 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.
>> 
>> -- 
>> 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.
> 
> 
> -- 
> 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.
> 
> -- 
> 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.

-- 
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.

Reply via email to