2013-03-12 51 views
0

我有Django模板中可用的模型對象爲Obj我如何序列化Django模型中的所有模型字段

現在我想可以在顯示所有的領域和這樣

{% 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()) 

然後我得到的最大遞歸錯誤,因爲它是循環值的通用功能超過我的這個功能。

我無法編輯視圖。有沒有什麼辦法,我可以添加一些在型號才使該工作

回答

0

一些提示: 如果instance是一個Django模型實例字段列表是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的一些領域,...