Django queryset - 从数据库中获取创建的对象并等于值

时间:2015-12-07 18:48:57

标签: django python-2.7 selenium-webdriver django-queryset

我写了一个简单的selenium测试,填写提交表单中的所有字段(在网站上添加新闻)。下面有一个(标题栏):

# type title
    for t in range(2):
        try:
            title = driver.find_element_by_xpath("//*[@id='id_title']")
            print "I found text!"
            title.send_keys("SomeText")
        except NoSuchElementException as e:
            print "I didn't find it!"
    else:
        print "Retry"

成功并在/ admin / news /(Django)我能够看到我自动填写的新文章。

现在我想检查从这个表单发送的数据是否等于存储在数据库中的数据。

有没有人会解释如何使用正确的查询集来检索这些数据并打印结果?我已经创建了一个新类,并且我认为它会像下面那样:

class NewsModelTestCompare(TestCase):
    def test_creating_news(self):
    # getting object
    n = News.objects.get(title="SomeText")

    self.assertEqual(News.objects.get(pk=n.id), n)

1 个答案:

答案 0 :(得分:1)

要检查数据是否已存在于数据库中,您可以首先使用表单提交的数据查询News模型,并检查数据库是否返回任何结果,如:

matching_objects = News.objects.filter(title="SomeText")
# this means the query returned at least one result
self.assertNotEqual(matching_objects.count(), 0)