Thanks Matthew, here is my views.py file:

from django.shortcuts import render #generates HTML fiels using a template 
and data
#from django.http import HttpResponse
from .models import Book, Author, BookInstance, Genre, Model, 
ModelInstance, Category, Ownership, Manufacturer, Location #imports model 
classes to access data in views
from django.views import generic

# Create your views here.

#def index(request):
#    return HttpResponse("Hey")

def index(request):
    """View function for home page of site."""

    #Generate counts of some of the main objects
    num_books = Book.objects.all().count()
    num_instances = BookInstance.objects.all().count()

    #Available books (status - 'a')
    num_instances_available = 
BookInstance.objects.filter(status__exact='a').count()

    #The 'all()' is implied by default.
    num_authors = Author.objects.count()

    #Num visits to this view, as counted in the session variable
    num_visits = request.session.get('num_visits', 0)
    request.session['num_visits'] = num_visits + 1


    context = {
        'num_books': num_books,
        'num_instances': num_instances,
        'num_instances_available': num_instances_available,
        'num_authors': num_authors,
        'num_visits': num_visits,
    }

    #Render the HTML template index.html with the data in the context 
variable
    return render(request, 'index.html', context=context)

class BookListView(generic.ListView):
    model = Book

class BookDetailView(generic.DetailView):
    model = Book

class ModelListView(generic.ListView):
    model = Model

class ModelDetailView(generic.DetailView):
    model = Model

class CategoryListView(generic.ListView):
    model = Category

class CategoryDetailView(generic.DetailView):
    model = Category

from django.contrib.auth.mixins import LoginRequiredMixin

class LoanedBooksByUserListView(LoginRequiredMixin,generic.ListView):
    """Generic class-based view listing books on loan to current user."""
    model = BookInstance
    template_name ='catalog/bookinstance_list_borrowed_user.html'
    paginate_by = 10

    def get_queryset(self):
        return 
BookInstance.objects.filter(borrower=self.request.user).filter(status__exact='o').order_by('due_back')


On Monday, August 27, 2018 at 11:00:57 AM UTC-4, Matthew Pava wrote:
>
> We need to see your view code.  I’m assuming now that you don’t have 
> category_list in your context variable that you submitted to the template.
>
>  
>
> *From:* [email protected] <javascript:> [mailto:
> [email protected] <javascript:>] *On Behalf Of *Jay
> *Sent:* Monday, August 27, 2018 9:20 AM
> *To:* Django users
> *Subject:* Re: Printing model fields organized by category
>
>  
>
> Thanks for the suggestions, I will change the name from Model after I can 
> get this working. 
>
>  
>
> So, I've changed the code using your help to:
>
>  
>
>   {% if category_list %}
>
>     {% for category in category_list %}
>
>         <li><strong>{{ category }}</strong></li>
>
>           <ul>
>
>             {% for model in category.model_set %}
>
>               <li>
>
>               <a href="{{ model.get_absolute_url }}"> {{ 
> model.model_number }}..........{{ model.description }} </a>
>
>               </li>
>
>             {% endfor %}
>
>           </ul>
>
>     {% endfor %}
>
>   {% else %}
>
>         <p>There is no equipment in the database</p>
>
>   {% endif %}
>
>  
>
> {% endblock %}
>
>  
>
> However, this just prints "There is no equipment in the database". Am I 
> missing something? I will try to experiment a little more. 
>
>
> On Monday, August 27, 2018 at 9:52:56 AM UTC-4, Matthew Pava wrote:
>
> Hi Jay,
>
> Firstly, I would avoid calling a model “Model.”  Maybe “Product” would be 
> better?  It’s only because of Django’s models.Model class.  That will 
> likely cause confusion in the future for you.
>
>  
>
> You’ll want to work with the Category model primarily and use a reverse 
> lookup to get to the corresponding “Model” instead of working with a 
> model_list.  The reverse lookup of category to model is model_set by 
> default.  You can change the name if you want.
>
>  
>
> {% for category in category_list %}
>
>       <strong>{{ category }}</strong>
>
>       <ul>
>
>       {% for model in category.model_set %}
>
>             <li><a href="{{ model.get_absolute_url }}">{{ model }}</a></li>
>
>       {% endfor %}
>
>       </ul>
>
> {% empty %}
>
>       <p>There is no equipment in the database with a category.</p>
>
> {% endfor %}
>
>  
>
>  
>
> Check out 
> https://docs.djangoproject.com/en/2.1/topics/db/examples/many_to_one/
>
>  
>
>  
>
> *From:* [email protected] [mailto:[email protected]] *On 
> Behalf Of *Jay
> *Sent:* Monday, August 27, 2018 8:02 AM
> *To:* Django users
> *Subject:* Printing model fields organized by category
>
>  
>
> I have a Class called "Model" that has a field called "model_numbers". I 
> have another class called "Category" that has a field called "category". In 
> the Model Class, I have a field called category that is a Foreign Key to 
> the field category in the Class category.
>
>  
>
> [image: Screen Shot 2018-08-27 at 8.58.54 AM.png]
>
>  
>
> Also, here is the html that prints the modeul_number and category fields:
>
>  
>
> [image: Screen Shot 2018-08-27 at 9.01.10 AM.png]
>
>  
>
>  
>
> What the code is printing:
>
>  
>
> CATEGORY 1:
>
>  - Field 1
>
>  - Field 2
>
>  - Field 3 
>
>  
>
> CATEGORY 2:
>
>  - Field 1
>
>  - Field 2
>
>  - Field 3
>
>  
>
> What I want it to print is:
>
>  
>
> CATEGORY 1:
>
>  - Field 1
>
>  - Field 2
>
>  
>
> CATEGORY 2:
>
> - Field 3
>
>  
>
> In this way it prints out all the model numbers under their respective 
> category name (instead of all model numbers under every category, which is 
> not correct as each model number only has one category). 
>
>  
>
> I posted about this on stackoverflow, and received a response but I am 
> still confused. 
> <https://stackoverflow.com/questions/51882942/how-can-i-organize-a-list-of-fields-based-on-another-field>
>
>  
>
> Thank you!
>
> -- 
> 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 post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/django-users/098cc4aa-374a-4e9a-9da1-ee49bab591aa%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/django-users/098cc4aa-374a-4e9a-9da1-ee49bab591aa%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
> -- 
> 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] <javascript:>.
> To post to this group, send email to [email protected] 
> <javascript:>.
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/django-users/62492e1a-1aeb-48ef-b1c1-47d3bfc77124%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/django-users/62492e1a-1aeb-48ef-b1c1-47d3bfc77124%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/4683cba0-9332-46ac-b318-bbd25b4a32f5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to