<p>If you want to add a unique non-nullable field to a table with existent rows, you'll need to a few extra steps because <strong>Django generates the value to populate existent rows only once</strong>. For the extra steps, check these instructions in #migrations-that-add-unique-fields</p>