Use strings, not constants in Django migrations

Fullchee ZhangFullchee Zhang
1 min read

:x:

# migrations/0001_my_migration.py
from my_file import MY_CONSTANT
MyModel.objects.get_or_create(name=MY_CONSTANT)

:white_check_mark:

# migrations/0001_my_migration.py
MyModel.objects.get_or_create(name="my-constant")

Why

  1. value of LOCALIZATION.BUNDLE__SYNC could change

  2. After the change, the migration behaves differently than when it was first written

    1. might even fail ๐Ÿ˜ฑ

    2. (we all know how terrifying failing migrations are ๐Ÿ˜ญ)

0
Subscribe to my newsletter

Read articles from Fullchee Zhang directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Fullchee Zhang
Fullchee Zhang

React, Django and SQL developer at Forma.ai