2013-11-20 59 views
2

我是Python和Django的新手,我想知道如何在不使用模型的情況下查詢數據庫。如何查詢沒有Django模型的數據庫?

我有一個被忽略的單詞表,它由一個主鍵和一個字串組成。我如何在我的文本中查詢「忽略」這個單詞,如果它在表格中?

所有的文檔和示例都涉及模型,比如Person對象。但是我不知道模型對象是否被忽略的單詞,所以它沒有意義。

def determine_important_words(original_words): 
    for i, word in enumerate(original_words): 
     if word[0].isupper(): 
      if word not in important_words: 
       important_words.append(original_words[i]) 
    return important_words 

我有的表是使用MySQL。

謝謝!

+0

Django是python,所以你可以使用mysqldb模塊並運行你自己的查詢。 – Jingo

回答

4

你的問題有點混亂。你說你有一個ID和一個字符串的表格,但是你不能爲一個被忽略的單詞做一個模型「所以它沒有意義」。爲什麼不?出了什麼問題:

class IgnoredWord(models.Model): 
    word = models.CharField(max_length=200) 

然後,你可以簡單地查詢它正常:

if not IgnoredWord.objects.filter(word=current_word).exists(): 

如果你真的不能做到這一點,你可以看看非常漂亮的Django文檔running raw queries,但你應該不需要那樣做。

+0

這只是我在網上和書中發現的例子,它們將模型稱爲更多的對象(來自Java背景)。它只是感覺有點矯枉過正......但謝謝你!我會嘗試你的解決方案。 – liloka

1

創建你的表一個簡單的模型:

class IgnoredWord(models.Model): 
    word = models.CharField(max_length=200) 

創建一個包含所有被忽略的單詞列表:

ignored_words = (obj.word for obj in IgnoredWord.objects.all()) 

使用它的東西:

result = list(set(original_words) - set(ignored_words)) 

不要添加新模型後忘記運行python manage.py syncdb