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.