Thursday, October 30, 2014

Re: DB foreign key constraints : Django 1.7 regression ?

On Wednesday, 29 October 2014 17:53:40 UTC, not...@gmail.com wrote:
Hi !

Just tested the following:
  • create clean DB
  • run syncdb
  • compare obtained tables when using Django 1.6.8 and Django 1.7.1
My findings :

In Django 1.7, some fields with models.ForeignKey no longer get the DB constraint.

In Django 1.6, I indeed get (in postgresql) for instance:
CONSTRAINT TABLE_FIELD_id_fkey FOREIGN KEY (FIELD_id)
          REFERENCES django_content_type (id) MATCH SIMPLE
          ON UPDATE NO ACTION ON DELETE NO ACTION DEFERRABLE INITIALLY DEFERRED,

The models for which it fails are always:
  • ContentType
  • Auth.Group
  • Auth.permission
  • django_site
My local apps are always defined after "django.contrib.contenttypes" and "django.contrib.auth" in INSTALLED_APPS.
Putting "django.contrib.contenttypes" as my last app does not change the DB construction.

So does it have to do with the order in INSTALLED_APPS ?
Is it a regression ?

Thanks for the input !

NotSqrt


Have you tried putting contenttypes and auth as dependencies in your migration?
--
DR. 

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/87f58ef0-46b0-4086-adaa-b72b3501598c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment