I'm just learning django part time and I'm stuck on a problem that I just can't seem to find a solution to. I feel it is probably pretty simple, but I just can't seem to see it right now.
In django I have the following table
class category(models.Model): category = models.CharField(max_length=100) def __str__(self): return f"{self.id} is {self.category}" class knowledge(models.Model): name = models.CharField(max_length=16) location = models.URLField(max_length=1024) title = models.TextField(blank=True, max_length=512) description = models.TextField(max_length=1024) category = models.ForeignKey(category, on_delete=models.CASCADE, related_name="content") def __str__(self): return f"{self.id}{self.name} {self.location} {self.description}" class notes(models.Model): note = models.TextField(blank=True, max_length=1024, default='none') date_added = models.DateTimeField(blank=True, default=timezone.now) knowledge = models.ForeignKey(knowledge, on_delete=models.CASCADE, related_name="mynotes") def __str__(self): return f"Added on {self.date_added}"
For my views I have
def kbs(request, category_id): # get all the objects in the category table with the id specified cate = category.objects.get(id=category_id) # once you have the category id get all the objects from the knowledge table using the related name content know = cate.content.all() # for each id in know create a list of notes? return render(request, "knowledge/category.html", {"cate": cate, "know": know,})
I can loop over all the items in the knowledge table and display them in my template. I wanted to add some notes to each knowledge article from another table. I added the notes table and referenced the knowledge table. In the template instead of displaying the id, I would like to loop over all the notes associated with that id and list those notes there.
here is my template
I imagine there are two things that I need to do. I need to pass in a list of all the notes to my template from my views, then when it comes to the id I should be able to use templating to list all the items in my notes for that particular knowledge id. Perhaps a for loop nested in the main loop. I'm sure there must be an easy solution, I just can't seem to be able to figure it out. Can anyone assist?
https://stackoverflow.com/questions/65544084/is-it-possible-to-create-a-for-loop-inside-a-main-for-loop-inside-django-templat January 03, 2021 at 05:06AM
没有评论:
发表评论