I have the following test which fails as it only inserts one row into the database where it should be inserting 100 rows
class QuestionsTest(TestCase):
def setUp(self):
self.fake = Faker()
def test_populating_table_with_random_data(self):
newQuestion = Questions()
x = 0
while x < 100:
newQuestion.category = self.fake.text(max_nb_chars=254)
newQuestion.difficulty = self.fake.text(max_nb_chars=8)
newQuestion.question_type = self.fake.text(max_nb_chars=20)
newQuestion.text = self.fake.text(max_nb_chars=254)
newQuestion.save()
x += 1
#100 rows should be inserted
self.assertEqual(Questions.objects.count(), (100))
"""Traceback (most recent call last):
File 'Database/tests.py', line 99, in test_populating_table_with_random_data
self.assertEqual(Questions.objects.count(), (100))
AssertionError: 1 != 100 """
Prior to receiving this error I was getting the error "Class Questions has no objects member". I got around this by explicitly declaring
objects = models.Manager()
in my Questions model, but I thought that django automatically generated a manager with the name objects