Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8861397
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 14, 20262026-06-14T15:29:03+00:00 2026-06-14T15:29:03+00:00

So I have a test class which has a setup methiod to create a

  • 0

So I have a test class which has a setup methiod to create a model object which can be tested against:

class UserProjectTests(TestCase):

    fixtures = ['admin_test.json']

    def setUp(self):
        ...
        self.project1 = Project.objects.create(
            user=self.user_profile1,
            product=self.product1,
            module=self.module1,
            model=self.model1,
            zipcode=90210
        )
        self.project1.save()

    def test_module_created(self):
        ...

    def test_model_created(self):
        ...

    def test_product_created(self):
        ...

    def test_project_created(self):
        #! what happened to pk<4???
        result1 = Project.objects.get(pk=4)
        self.assertEquals(result1.zipcode, 90210)

    def test_user_cannot_edit_project_they_dont_own(self):
        ...

My question is – why do I have to call pk=4 to get the only object in the test db? If I move this test up a couple of functions the pk I have to query to pass the test decreases. It seems that everytime setup runs it does not start with a virgin db because the pk is auto-incrementing.

Can anyone tell me why this is? What should I do to be able to use pk=1 regardless of in which test function it appears?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-14T15:29:04+00:00Added an answer on June 14, 2026 at 3:29 pm

    Django’s test runner flushes the database after each test, it doesn’t delete it and recreate it – that would slow down the tests considerably.

    Rather than hard-coding a pk number, you could just ask for the first element: Project.objects.all()[0]. Since you start each test run with empty tables, this is guaranteed to give you the item you want.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a Query model: class Query < ActiveRecord::Base belongs_to :test end which is
I have set up a bundle that has a test object which holds a
I have a JUnit test class in which I have several static final int
I have a class Test which is in lib folder and I want to
I have a problem to test my non activity-class which need the context of
You have a Python class which needs an equals test. Python should use duck-typing
I have some classes(call it Class A) which I would like to unit test
I have made a front end for a program which test java (foo.class) binary
I have a dll called Test.dll in which I have a class called ABC
I have a test fixture class which is currently used by many tests. #include

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.