Reverse not found

7 views
Skip to first unread message

toneldaclan

unread,
Apr 8, 2018, 8:34:55 PM4/8/18
to Django users
This code works well:

def detail(request, entity_group_id):
    entity_group = get_object_or_404(EntityGroup, pk=entity_group_id) # noqa
    entity_list = entity_group.members.order_by('name')
    context = {
        'entity_group': entity_group,
        'entity_list': entity_list,
    }
    return render(request, 'core/detail.html', context)

When I converted it to a Generic View, a Reverse not found error occured

class DetailView(generic.DetailView):
    model = EntityGroup
    template_name = 'core/detail.html'

    def get_context_data(self, **kwargs):
        context = super(DetailView, self).get_context_data(**kwargs)
        context['entity_group'] = EntityGroup
        context['entity_list'] = EntityGroup.members
        return context

This is mu models.py

class Entity(models.Model):
    is_person = models.BooleanField(default=True)
    person = models.ForeignKey(Person, on_delete=models.PROTECT, null=True) # noqa
    company = models.ForeignKey(Company, on_delete=models.PROTECT, null=True) # noqa
    name = models.CharField(max_length=30)

    def __str__(self):
        return self.name

    @property
    def title(self):
        return self.name

    class Meta:
        verbose_name_plural = 'entities'


class EntityGroup(models.Model):
    name = models.CharField(max_length=20)
    is_individual = models.BooleanField(default=True)
    members = models.ManyToManyField(Entity, through='Membership')

    def __str__(self):
        return self.name

    @property
    def title(self):
        return self.name


class Membership(models.Model):
    entity_group = models.ForeignKey(EntityGroup, on_delete=models.PROTECT, null=False) # noqa
    entity = models.ForeignKey(Entity, on_delete=models.PROTECT, null=False)

    def __str__(self):
        return self.entity_group.name + '-' + self.entity.name

    @property
    def title(self):
        return self.entity_group.name + '-' + self.entity.name

    class Meta:
        unique_together = ("entity", "entity_group")
Reply all
Reply to author
Forward
0 new messages