django模板中显示自己的方法

Own method displayed in django template

我写了我的 / 示例方法,想在 django 模板中显示它。 我正在尝试 {{filter.my_method}} 但它没有提供任何东西。 在我的模型下方,带有方法和视图。

我的模型和方法:

class MyModel(models.Model):
    user = models.ForeignKey(User, blank=True, null=True)
    name = models.CharField(max_length=255, blank=True, null=True)

    def __unicode__(self):
        return self.user

    def my_method(self):
        return self.name

我的看法

class Index(ListView):

    template_name = "index.html"
    context_object_name = 'users'

    def get(self, request):
        filter = Filter(request.GET, queryset=MyModel.objects.all())
        return render(request, self.template_name, {'filter': filter})

您不应在过滤器上而是在模型实例上调用此方法:

{% for obj in filter %}
    {{ obj.my_method }}
{% endfor %}