use select_related for querying related data from a model On Thu, Oct 24, 2019 at 5:22 PM Manish Maurya <[email protected]> wrote:
> its not looking so clear. > > > On Thu, 24 Oct 2019 at 17:21, Benedict Uwazie <[email protected]> wrote: > >> I have an issue that I have been battling for a long time I >> want to get data out from different related models. I have three >> models. Category, Author, Post. The Category model categories my post >> that are on the Post model. The issue I am having is this, when I perform >> my loop >> on my template (i.e html file) I can get data out from my Post model but >> I can not >> get data out from my Category model. Please I need someone to help me out >> or tell me >> what I am doing wrong. >> below is my sample code for you to know what I am talking about. >> >> models.py >> class Category(models.Model): >> name = models.CharField(max_length=100) >> tagline = models.TextField() >> >> def __str__(self): >> return self.name >> >> class Author(models.Model): >> name = models.CharField(max_length=200) >> email = models.EmailField() >> >> def __str__(self): >> return self.name >> >> class Post(models.Model): >> category = models.ForeignKey(Category, on_delete=models.CASCADE, null= >> True, related_name='my_category') >> headline = models.CharField(max_length=255) >> body_text = models.TextField() >> authors = models.ManyToManyField(Author) >> >> >> def __str__(self): >> return self.headline >> >> views.py >> from first_app.models import Author, Category, Post >> def post_from_cat(request, cat_id): >> b = Category.objects.get(pk=cat_id) >> result = b.my_category.all() >> return render(request, 'first_app/index.html', {'key':result}) >> >> >> on my app urls.py >> from first_app import views >> >> urlpatterns = [ >> path('', views.home_app, name='home_app'), >> path('post-cat/<int:cat_id>/', views.post_from_cat, name= >> 'post_from_cat'), >> ] >> >> >> on my index.html file >> >> {% if key %} >> {% for k in key %} >> <p><strong>Category: </strong> {{ k.name }}</p> >> <p><strong>Title</strong><br>{{ k.headline }}</p> >> <p><strong>Body</strong><br>{{ k.body_text }}</p> >> <hr> >> {% endfor %} >> {% else %} >> <p>No data</p> >> {% endif %} >> >> >> The resulting page on my browser >> >> >> >> -- >> 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/3ddb6604-af4e-4eaf-b460-b55424d9c890%40googlegroups.com >> <https://groups.google.com/d/msgid/django-users/3ddb6604-af4e-4eaf-b460-b55424d9c890%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/CANyc5fcCf9U81qSdmON7rf7X5f88SmSpOSgtsDELDq4ZAEfXow%40mail.gmail.com > <https://groups.google.com/d/msgid/django-users/CANyc5fcCf9U81qSdmON7rf7X5f88SmSpOSgtsDELDq4ZAEfXow%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/CALmP4tQZRfFmHA0jhPaUJ2RdiXvanw0zx0_9t7gf0yenRZ8%2BNw%40mail.gmail.com.

