DEV Community

Matt Layman
Matt Layman

Posted on • Originally published at mattlayman.com

1

Remodeling Data Relationships - Building SaaS #55

In this episode, we're remodeling! I changed the model relationship between GradeLevel and Course from a ForeignKey (1 to many) to a ManyToManyField. We talked through the change and started fixing all the tests that broke.

After explaining the change that I wanted to make and why I want to make it, I explained how a foreign key and many to many relationship at the database level.

Once we had the conceptual foundation in place, I started with the documentation. We looked at the ManyToManyField and what changes were needed to convert a ForeignKey to a ManyToManyField.

After the change, we immediately saw the value of having a test suite that runs all the code. We ran the tests and see the test suite light up like a Christmas tree with errors.

For the remainder of the stream, I worked to fix errors in the suite by fixing the broken code and the broken tests.

This article first appeared on mattlayman.com.

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay