El objeto TypeError no es iterable

Recibo el siguiente error cuando intento recorrer una variable en mis plantillas de Django. La variable en cuestión es el objeto relacionado del modelo especificado en mi subclase DetailView:

Escriba error en / en / solicitantes / 50771459778 /

El objeto 'ama de casa' no es iterable

Aquí está mimodels.py expediente:

class Applicant(models.Model):
    user              = models.ForeignKey(User, editable=False)
    bank_card_number  = models.CharField(_('Bank card number'),max_length=50, unique=True)
    site_of_interview = models.IntegerField(_('Site of interview'), choices = SITE_CHOICES, default=TIRANA, blank=False)
    housenumber       = models.CharField(_('House Number'),max_length=8)
    address_line1     = models.CharField(_('Address line 1'),max_length=50)
    address_line2     = models.CharField(_('Apt #'),max_length=50,blank=True) 
    municipality      = models.CharField(_('Municipality/commune'),max_length=25)
    district          = models.CharField(_('District'),max_length=25,blank=True)
    urban             = models.IntegerField(_('Area (urban/rural)'), choices = AREA_CHOICES, blank=False)
    postal            = models.CharField(_('Postal code'),max_length=25,blank=True) 

class Householdmember(models.Model):
    applicant         = models.ForeignKey(Applicant)
    first_name        = models.CharField(_('First name'),max_length=50,blank=False)
    middle_name       = models.CharField(_('Middle name'),max_length=50,blank=True) 
    last_name         = models.CharField(_('Last name'),max_length=50,blank=False)
    national_id       = models.CharField(_('National ID'),max_length=50,blank=False, unique=True)
    male              = models.IntegerField(_('Gender'), choices = GENDER_CHOICES, blank=False)
    date_of_birth     = models.DateField()
    rel_to_head       = models.IntegerField(_('Gender'), choices = RELTOHEAD_CHOICES, blank=False)
    disability        = models.IntegerField(_('Is disabled?'), choices = YESNO_CHOICES, blank=False)
    created_at        = models.DateTimeField(auto_now_add = True)
    updated_at        = models.DateTimeField(auto_now = True)

Aquí está miurls.py expediente:

class ListViewApplicants(ListView):
    paginate_by = 100
    def get_queryset(self):
        return Applicant.objects.all()

class DetailViewUnmask(DetailView):
    def get_object(self):
        return self.get_queryset().get(pk=mask_toggle(self.kwargs.get("pk_masked")))

urlpatterns = patterns('',
    url(r'^

Aquí está la parte relevante de mi plantilla,detail.html:

<h2>Household members</h2>
<table class="package_detail">
    <tr>
        {% include "applicants/householdmember_heading_snippet.html" %}
    </tr>

    {% for householdmember in applicant.householdmember_set.all %}
    <tr>

        {% for field in householdmember %}
            <td>{{ field }}</td>
        {% endfor %}
        <!--
        <td>{{ householdmember.first_name }}</td>
        <td>{{ householdmember.middle_name  }}</td>
        <td>{{ householdmember.last_name  }}</td>
        <td>{{ householdmember.national_id  }}</td>
        <td>{{ householdmember.get_male_display }}</td>
        <td>{{ householdmember.date_of_birth }}</td>
        <td>{{ householdmember.get_rel_to_head_display }}</td>
        <td>{{ householdmember.get_disability_display }}</td>
        -->
    </tr>
    {% endfor %}
</table>

La parte que se comenta (es decir, la parte entre las<!-- --> etiquetas) funciona, lo que me lleva a pensar que debería poder iterar sobre elhouseholdmember variable. Pero cuando trato de hacerlo, no funciona, solo obtengo el TypeError de arriba.

He buscado exageradamente stackoverflow.com por una respuesta, pero la respuesta más cercana que pude encontrar es esta:django cómo recorrer el objeto de contexto devuelto por una vista de detalle genérica?, pero no resuelve mi problema, creo que porque estoy usando vistas basadas en clases.

Apreciaría enormemente cualquier ayuda. ¡Gracias!

, login_required(ListViewApplicants.as_view( template_name='applicants/index.html', #context_object_name='form', )), name='index'), url(r'^(?P<pk_masked>\d+)/

Aquí está la parte relevante de mi plantilla,detail.html:

<h2>Household members</h2>
<table class="package_detail">
    <tr>
        {% include "applicants/householdmember_heading_snippet.html" %}
    </tr>

    {% for householdmember in applicant.householdmember_set.all %}
    <tr>

        {% for field in householdmember %}
            <td>{{ field }}</td>
        {% endfor %}
        <!--
        <td>{{ householdmember.first_name }}</td>
        <td>{{ householdmember.middle_name  }}</td>
        <td>{{ householdmember.last_name  }}</td>
        <td>{{ householdmember.national_id  }}</td>
        <td>{{ householdmember.get_male_display }}</td>
        <td>{{ householdmember.date_of_birth }}</td>
        <td>{{ householdmember.get_rel_to_head_display }}</td>
        <td>{{ householdmember.get_disability_display }}</td>
        -->
    </tr>
    {% endfor %}
</table>

La parte que se comenta (es decir, la parte entre las<!-- --> etiquetas) funciona, lo que me lleva a pensar que debería poder iterar sobre elhouseholdmember variable. Pero cuando trato de hacerlo, no funciona, solo obtengo el TypeError de arriba.

He buscado exageradamente stackoverflow.com por una respuesta, pero la respuesta más cercana que pude encontrar es esta:django cómo recorrer el objeto de contexto devuelto por una vista de detalle genérica?, pero no resuelve mi problema, creo que porque estoy usando vistas basadas en clases.

Apreciaría enormemente cualquier ayuda. ¡Gracias!

, login_required(DetailViewUnmask.as_view( model=Applicant, template_name='applicants/detail.html' )), name='detail'),

Aquí está la parte relevante de mi plantilla,detail.html:

<h2>Household members</h2>
<table class="package_detail">
    <tr>
        {% include "applicants/householdmember_heading_snippet.html" %}
    </tr>

    {% for householdmember in applicant.householdmember_set.all %}
    <tr>

        {% for field in householdmember %}
            <td>{{ field }}</td>
        {% endfor %}
        <!--
        <td>{{ householdmember.first_name }}</td>
        <td>{{ householdmember.middle_name  }}</td>
        <td>{{ householdmember.last_name  }}</td>
        <td>{{ householdmember.national_id  }}</td>
        <td>{{ householdmember.get_male_display }}</td>
        <td>{{ householdmember.date_of_birth }}</td>
        <td>{{ householdmember.get_rel_to_head_display }}</td>
        <td>{{ householdmember.get_disability_display }}</td>
        -->
    </tr>
    {% endfor %}
</table>

La parte que se comenta (es decir, la parte entre las<!-- --> etiquetas) funciona, lo que me lleva a pensar que debería poder iterar sobre elhouseholdmember variable. Pero cuando trato de hacerlo, no funciona, solo obtengo el TypeError de arriba.

He buscado exageradamente stackoverflow.com por una respuesta, pero la respuesta más cercana que pude encontrar es esta:django cómo recorrer el objeto de contexto devuelto por una vista de detalle genérica?, pero no resuelve mi problema, creo que porque estoy usando vistas basadas en clases.

Apreciaría enormemente cualquier ayuda. ¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta