ForeignKey.swappable
Controls the migration framework’s reaction if this ForeignKey
is pointing at a swappable model. If it is True
- the default - then if the ForeignKey
is pointing at a model which matches the current value of settings.AUTH_USER_MODEL
(or another swappable model setting) the relationship will be stored in the migration using a reference to the setting, not to the model directly.
You only want to override this to be False
if you are sure your model should always point towards the swapped-in model - for example, if it is a profile model designed specifically for your custom user model.
Setting it to False
does not mean you can reference a swappable model even if it is swapped out - False
just means that the migrations made with this ForeignKey will always reference the exact model you specify (so it will fail hard if the user tries to run with a User model you don’t support, for example).
If in doubt, leave it to its default of True
.
Please login to continue.