Bird
0
0

You want to create a factory for a Django model Order that has a foreign key to User. How do you correctly define the user field in OrderFactory to use UserFactory?

hard📝 Application Q15 of 15
Django - Testing Django Applications
You want to create a factory for a Django model Order that has a foreign key to User. How do you correctly define the user field in OrderFactory to use UserFactory?
Auser = UserFactory()
Buser = factory.RelatedFactory(UserFactory)
Cuser = factory.SubFactory(UserFactory)
Duser = factory.Faker('user')
Step-by-Step Solution
Solution:
  1. Step 1: Understand foreign key factory usage

    To link a foreign key to another factory, use factory.SubFactory with the related factory class.
  2. Step 2: Evaluate options

    Directly calling UserFactory() assigns an instance at class load time, not per object. RelatedFactory is for reverse relations. Faker does not create model instances.
  3. Final Answer:

    user = factory.SubFactory(UserFactory) -> Option C
  4. Quick Check:

    Foreign key uses SubFactory [OK]
Quick Trick: Use SubFactory for foreign key relations [OK]
Common Mistakes:
MISTAKES
  • Calling UserFactory() directly in factory field
  • Using RelatedFactory for foreign keys
  • Using Faker for model relations

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Django Quizzes