Hello, I am struggling with trying to filter child objects based on parent 
object selection on index.html (sites.html in example). On my sites.html, I 
list the office sites and a button to click for each, upon clicking I want 
to load the profile list for users only at that site, presently it's 
loading all profiles for all sites, which I assume is because the profiles 
are loaded statically no matter which button is clicked on sites.html.

I'm thinking I need a JS onclick event? 

models.py:
class Site(models.Model):

    name = models.CharField(max_length=50)
    date = models.DateField()
    manager = models.CharField(max_length=50)
    
    def save(self, *args, **kwargs):
        super(Site, self).save(*args, **kwargs)
         
class Profile(models.Model):
    Days = '1st'
    Mids = '2nd'
    Nights = '3rd'
    Work_Schedule_Choices = [
      (Days, 'Day Shift'),
      (Mids, 'Mid Shift'),
      (Nights, 'Night Shift'),
    ]   
    sitename = models.ForeignKey(Site, on_delete=models.CASCADE)
    title = models.CharField(max_length=100)
    schedule = models.CharField(max_length=3,choices=Work_Schedule_Choices,
default=Days)
    totalusers = models.PositiveSmallIntegerField(default=1, validators=[
MinValueValidator(1), MaxValueValidator(50)])



views.py:
def sites(request):
    sitelist = Site.objects.all()
    return render (request, 'App/sites.html', {'sitelist' : sitelist})

def sitedetail(request):
    site = Site.objects.filter()
    if request.method == 'GET':
        return render(request, 'App/site-detail.html', {'site': site, 
'profile_set': Profile.objects.all()})


sites.html (index)
{% extends 'App\base.html' %}
{% load crispy_forms_tags %}
{% block title %}Site Home{% endblock %}
{% block content %}
    {% for Site in sitelist %}
<div <div  class="container">
    <div  class="row justify-content-center">
        <h5>{{ Site.name }}</h5>
        <a href="{% url 'site-detail' %}" class="btn">View</a>
      </div>
    </div>
    {% empty %}
    <div class="noproject-wrapper center">
      <h3 class="grey-text">Sorry, you haven't created any sites yet.</h3>
      <a href="{% url 'site-create' %}" class="btn-large grey">
        <i class="material-icons white-text left">Add Site</i>
        <span class="bold">Add Site</span>
      </a>
    </div>
    {% endfor %}
  </div>
{% endblock %}


site-detail.html
{% extends 'App\base.html' %}
{% load crispy_forms_tags %}
{% block title %}Site Detail{% endblock %}
{% block content %}
<h1>This web form sucks</h1>
 <ul>
  {% for profile in profile_set  %}
  <li>{{ profile.title }}</li>
  {% endfor %}
 </ul>
{% endblock %}






-- 
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 django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/b4bd97c3-1a36-436d-823a-b4f7003a29d0%40googlegroups.com.

Reply via email to