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 に答える