2010-11-12 13 views
0

下面是我的模型細節我們可以使用Django中的用戶定義管理器執行SQL查詢嗎?

class QuesManager(db.Manager): 
    def with_counts(self): 
     from django.db import connection 
     cursor = connection.cursor() 
     cursor.execute(""" 
      SELECT Q.question, Q.title, Q.qid, V.up_qid, V.down_qid 
      FROM Question Q, Votes_ques V 
      WHERE Q.qid=V.qid 
      ORDER BY 3 DESC""") 
     result_list = [] 
     for row in cursor.fetchall(): 
      p = self.model(question=row[0], title=row[1], up_vote=row[2], down_vote=row[3]) 
      result_list.append(p) 
     return result_list 

class dummy(db.Model): 
    obj = QuesManager() 

class Question(db.Model): 
    userid = db.CharField(max_length=50) 
    posted = db.DateTimeField(auto_now=True) 
    question = db.TextField(max_length=500) 
    qid = db.AutoField(primary_key=True) 
    title = db.TextField(max_length=80) 
    tags = db.ManyToManyField('Tags') 

class Votes_ques(db.Model): 
    qid = db.ForeignKey('Question') 
    up_qid = db.IntegerField() 
    down_qid = db.IntegerField() 

from mysite.answers.models import dummy 
from mysite.answers.models import Votes_ques 
from mysite.answers.models import Question 

呢,Vote = dummy.obj.all()會給所有結果集QuesManager類中查詢。任何人都有這個想法...

謝謝!

回答

1

也許你只是在尋找這樣的:

questions = Question.objects.all() 
for question in questions: 
    votes = question.votes_ques_set.all() 
+0

您好,我有一個疑問。如何將兩個對象(問題和投票)相應地組合成單個對象,最後到對象列表中。 – karanece 2010-11-12 23:53:40

+0

嗨WoLpH, 是的,但如何將問題和投票結合起來,因爲我需要從我的視圖發送到HTML文件。我的意思是,我期待類似於列表形式的結果集,以便我可以將它發送到我的html文件,我將在那裏使用它。 下面是我的代碼的一部分 \t ARGS =字典(問題=問題)噸= loader.get_template( 'main.html中') \t C =上下文(參數) \t返回的HttpResponse(t.render (c)) 在這裏,問題應該包含作爲單個對象連接在一起的問題對象和相應的投票對象。這在Django中可能嗎?請指教!! – karanece 2010-11-13 00:05:16

+0

因此,一旦可能,那麼在我的main.html文件中,我將會得到如下代碼: {%if Questions%} {%for Items%}


問題:{{item.qid}}
{{item.question}} <按鈕名稱=「 up_vote」 類型=「提交「value =」Vote up「>投票 x {{item.up_vote}} x {{item.down_vote}} {% endfor%} {%endif%} – karanece 2010-11-13 00:07:54

相關問題