如何在没有模型Django的情况下查询数据库?

时间:2013-11-20 13:41:22

标签: python mysql django

我是Python和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。

谢谢!

2 个答案:

答案 0 :(得分:4)

你的问题有点令人困惑。你说你有一个带有ID和字符串的表,但是你不能为被忽略的单词创建一个模型“所以它没有意义”。为什么不?出了什么问题:

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

然后你可以简单地查询它:

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

如果你真的不能这样做,你可以查看running raw queries非常好的Django文档,但你不应该这样做。

答案 1 :(得分: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