2014-05-19 65 views
2

我想創建一個自定義模型,其中包含連接到現有數據庫並基於注入Django的自定義查詢返回數據的方法。我顯然在這方面遇到了一些問題,我想知道這是否可以用我目前的方法。我覺得這是一個微不足道的問題,或者我誤解了這裏的根本。這是我到目前爲止的代碼:Django中的自定義查詢和模型

from django.db import models 

import datetime 
from django.utils import timezone 

class data_model(models.Field): 
    description = "return and create data objects for visulaizations" 

    def __init__(self, days, action): 
     self.days = days 
     self.action = action 
     if(self.action == ""): 
      self.action = "inspections" 
      getVioPoints(self.action) 

    def getVioPoints(self): 
     #get points query here and get data from db 
     return self 

getVioPoints,我想創建一個查詢字符串 - 像什麼,你會在一個PHP $query = "select tuples where what I want = something"類型的情況看。然後以我的模板視圖可以像訪問它的方式返回數據:

<ul> 
    {% for choice in data_returned %} 
     <li> {% choice.title %} </li> 
    {% endfor %} 
</ul> 

任何想法?任何援助將不勝感激。 謝謝。

+0

模型必須是model.Model的子模型,請嘗試閱讀有關django模型:https://docs.djangoproject.com/en/dev/topics/db/models/,然後考慮如何將現有模型描述爲django模型。 – zymud

+0

@zymud能夠返回一個JSON字符串以便遍歷JS?我已經閱讀了DOC的部分內容,不確定是否會影響我的問題。謝謝你的努力。 –

+2

當然,您可以自定義查詢並將結果放入json中,您可以在此處閱讀有關自定義查詢的信息:https://docs.djangoproject.com/en/dev/topics/db/sql/#executing-custom-sql-directly ,但這不是django-way - 你只是忽略orm層並且必須自己編寫所有sql查詢,我建議你創建模型,將它連接到db並通過orm進行查詢。 – zymud

回答