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.