Hi,
I have two models like these:
class Allarme(models.Model):
....
class Registrazione(models.Model):
allarme = models.ForeignKey(Allarme, blank=True, null=True, on_delete=models.DO_NOTHING, db_constraint=False)
....
now I want to change id field for these models from int to bigint so I added to both
id = models.BigAutoField(primary_key=True)
and I did the migration,
python manage.py sqlmigrate
show something like this:
BEGIN;
--
-- Alter field id on allarme
--
ALTER TABLE "multimedia_allarmi" ALTER COLUMN "id" TYPE bigint USING "id"::bigint;
DROP SEQUENCE IF EXISTS "multimedia_allarmi_id_seq" CASCADE;
CREATE SEQUENCE "multimedia_allarmi_id_seq";
ALTER TABLE "multimedia_allarmi" ALTER COLUMN "id" SET DEFAULT nextval('"multimedia_allarmi_id_seq"');
SELECT setval('"multimedia_allarmi_id_seq"', MAX("id")) FROM "multimedia_allarmi";
ALTER TABLE "multimedia_registrazioni" ALTER COLUMN "allarme_id" TYPE bigint USING "allarme_id"::bigint;
ALTER TABLE "multimedia_registrazioni" ADD CONSTRAINT "multimedia_registrazioni_allarme_id_4919213e_fk" FOREIGN KEY ("allarme_id") REFERENCES "multimedia_allarmi" ("id") DEFERRABLE INITIALLY DEFERRED;
--
-- Alter field id on registrazione
--
ALTER TABLE "multimedia_registrazioni" ALTER COLUMN "id" TYPE bigint USING "id"::bigint;
DROP SEQUENCE IF EXISTS "multimedia_registrazioni_id_seq" CASCADE;
CREATE SEQUENCE "multimedia_registrazioni_id_seq";
ALTER TABLE "multimedia_registrazioni" ALTER COLUMN "id" SET DEFAULT nextval('"multimedia_registrazioni_id_seq"');
SELECT setval('"multimedia_registrazioni_id_seq"', MAX("id")) FROM "multimedia_registrazioni";
COMMIT;
so as you can see a foreign key is added for a model field with db_constraint=False,
can you please confirm that this is a bug? I'm using django 1.11.1
thanks!