Hi NotSqrt,
On 10/29/2014 11:53 AM,
not...@gmail.com wrote:
> 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 ?
I don't have time to look into this and try to reproduce at the moment,
but if the situation is as you've described it (and it's not due to
something else specific to your project), it is certainly a regression
and a bug. If you can reproduce with a fixed set of steps (starting from
a fresh "startproject" for each Django version), please do file a bug at
code.djangoproject.com with those reproduction instructions. Thanks!
Carl