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.