0

我在 django 模板中有可用的模型对象作为Obj.

现在我想要一个通用函数,它可以像这样显示所有字段和值

{% for instance in data %}
    {% for field, value in instance.fields.items %}
        {{ field }}: {{ value }}
    {% endfor %}
{% endfor %}

我在模型中试过这个

def objectdata(self):
        return serializers.serialize( "python", self.objects.all() ) 

然后我得到最大的递归错误,因为它正在循环我的这个函数。

我无法编辑视图。有什么方法可以让我在模型中添加一些东西只是为了让它工作

4

1 回答 1

0

一些提示:如果instance是 django Model 实例,则字段列表在instance._meta.fields. 您可以使用它遍历实例并获取所需的列表:

def objectdata(self):
    k_w = {}
    for field in self._meta.fields :
        k_w[field.name] = self.__getattr__(field.name)

    return k_w

小心一些字段,如 ForeignKey,......

于 2013-03-12T08:47:48.360 回答