Re: [Django] #28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' object has no attribute 'is_relation'

2020-09-03 Thread Django
#28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' 
object
has no attribute 'is_relation'
-+-
 Reporter:  Logan Gunthorpe  |Owner:  Pallav Parikh
 Type:  Bug  |   Status:  closed
Component:  Migrations   |  Version:  master
 Severity:  Normal   |   Resolution:  wontfix
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by felixxm):

 * status:  assigned => closed
 * has_patch:  1 => 0
 * resolution:   => wontfix
 * needs_tests:  1 => 0


Comment:

 Django 2.2 and 3.0 doesn't receive bugfixes anymore. Django 3.1+ raises
 `KeyError` (e.g. `KeyError: 'field_3'`, `KeyError: ('test_one',
 'mymodel2')`) for nonexistent fields or models in manually edited
 migrations which is acceptable, IMO.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.6b6dc7071927215aaa7c2cc279918903%40djangoproject.com.


Re: [Django] #28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' object has no attribute 'is_relation'

2020-01-13 Thread Django
#28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' 
object
has no attribute 'is_relation'
-+-
 Reporter:  Logan Gunthorpe  |Owner:  Pallav Parikh
 Type:  Bug  |   Status:  assigned
Component:  Migrations   |  Version:  master
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Accepted
Has patch:  1|  Needs documentation:  0
  Needs tests:  1|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by felixxm):

 * owner:  nobody => Pallav Parikh
 * status:  new => assigned
 * has_patch:  0 => 1
 * version:  1.11 => master
 * needs_tests:  0 => 1


Comment:

 [https://github.com/django/django/pull/12314 PR]

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.344bdf8ec92f6b712b454b3b189dbe8d%40djangoproject.com.


Re: [Django] #28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' object has no attribute 'is_relation'

2018-07-19 Thread Django
#28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' 
object
has no attribute 'is_relation'
-+
 Reporter:  Logan Gunthorpe  |Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  Migrations   |  Version:  1.11
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+

Comment (by Shaun Stanworth):

 I have seen and resolved this issue -- I had a migration containing a
 RenameField followed by a AlterField on the same field. By moving the
 RenameField to the previous migration, I was able to replay the migrations
 safely.

 So I think the issue is either: the application of rename states
 (state_forwards) has an error, or there is an AlterField.reduce method
 that tries to squash renames into an alteration.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.c20c8fc9734055574e0516734a09f7d5%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' object has no attribute 'is_relation'

2018-07-05 Thread Django
#28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' 
object
has no attribute 'is_relation'
-+
 Reporter:  Logan Gunthorpe  |Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  Migrations   |  Version:  1.11
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+

Comment (by yuanxu):

 I had the same issue. In my case, I agree with  testvinder.  In my case,
 I've delete some fields in db, and have RemoveField in migrations. In
 1.10.7, It works fun and crash in 2.0.7.

 I just modify the fields.py in line 145 with:

 {{{
  delay = old_field is None or  not old_field.is_relation
 }}}

 It works! but I don't know if is there are other issues.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.3bcbe55cc6fd7007db084319b1b43507%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' object has no attribute 'is_relation'

2017-11-13 Thread Django
#28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' 
object
has no attribute 'is_relation'
-+
 Reporter:  Logan Gunthorpe  |Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  Migrations   |  Version:  1.11
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+

Comment (by Carel):

 I'm not sure if this is a bug for me too or simply my lack of
 understanding when it comes to rolling ones own migrations, but I'm
 triggering the same response. I'm converting a legacy SQLite database
 (Approx. 20-30 Tables still working through it) to Django. There is a
 `models.IntField` (Milliseconds since Unix/Linux Epoch) which I want to
 alter to a `models.DateTimeField`. Djangos' automigrate was complaining
 when I switched the table from unmanaged to managed so I'm manually
 performing the following actions within a custom migration :

  1. Create a new `models.DateTimeField` called "Temp"
  2. Using `migrations.runPython` Iterate overall the records and convert
 all the data in the original field, "Modified", to `datetime.datetime` and
 assign it to new field "Temp"
  3. Remove the original field "Modified" using `migrations.RemoveField`
  4. Rename the temporary field "temp" to "Modified" using
 `migrations.RenameField`

 The process fails at Step 3 where the field being removed triggers the
 error, `AttributeError: 'NoneType' object has no attribute 'is_relation'`.
 Originally I was using Django 1.11.3/4 but have bumped to 1.11.7 and have
 the same problem.

 Based on the code posted by **PythonForce** it would seem that the loop is
 not assigning an instance to `old_field`, so where it tries to assign a
 value for `delay` it is breaking as there is no attribute `is_relation`
 for `None`/`NoneType`. Now it seems `delay` should be a boolean value so I
 would like to suggest one replace the line `delay = not
 old_field.is_relation` with `delay = old_field is None and not
 old_field.is_relation` then if `old_field` is `None` delay is `False` and
 the relation short circuits before testing the attribute. If `old_field`
 turns out to be an instance then `delay` depends upon
 `old_field.is_related`, as it presently does.

 {{{
 def state_forwards(self, app_label, state):
 new_fields = []
 old_field = None
 print app_label + " " + self.model_name_lower + " " + self.name
 for name, instance in state.models[app_label,
 self.model_name_lower].fields:
 if name != self.name:
 new_fields.append((name, instance))
 else:
 old_field = instance
 state.models[app_label, self.model_name_lower].fields = new_fields
 # Delay rendering of relationships if it's not a relational field
 delay = not old_field.is_relation
 state.reload_model(app_label, self.model_name_lower, delay=delay)
 }}}

 My suggestions is based upon only this snippet of code and I am not aware
 of any other context that may be relevant. I will try to pull down the
 sources and apply this. If successful I shall report back.

 P.s. If the manner in which I have posted does not meet some guideline,
 let me know I'll try to neaten it up or whatever as necessary.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.0176c5de7e445a9c27af0f91b7da1afd%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' object has no attribute 'is_relation'

2017-09-15 Thread Django
#28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' 
object
has no attribute 'is_relation'
-+
 Reporter:  Logan Gunthorpe  |Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  Migrations   |  Version:  1.11
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+

Comment (by johanovic):

 I had the same issue. In my case it had to with the fact that I had copied
 the __pycache__ of the migrations generated with a different setup to
 production. Can you clear the cache and see if that makes a difference?

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.5e9a69cbbcf5b46e785e7d23675cb478%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' object has no attribute 'is_relation'

2017-08-30 Thread Django
#28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' 
object
has no attribute 'is_relation'
-+
 Reporter:  Logan Gunthorpe  |Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  Migrations   |  Version:  1.11
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+

Comment (by python-force):

 Testvinder add this line to the code and in the console you'll see where
 it breaks and that will give you idea where to look.

 {{{
 print app_label + " " + self.model_name_lower + " " + self.name
 }}}

 {{{
 def state_forwards(self, app_label, state):
 new_fields = []
 old_field = None
 print app_label + " " + self.model_name_lower + " " + self.name
 for name, instance in state.models[app_label,
 self.model_name_lower].fields:
 if name != self.name:
 new_fields.append((name, instance))
 else:
 old_field = instance
 state.models[app_label, self.model_name_lower].fields = new_fields
 # Delay rendering of relationships if it's not a relational field
 delay = not old_field.is_relation
 state.reload_model(app_label, self.model_name_lower, delay=delay)
 }}}

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.6be2cf94819d2061a243992d20380b3d%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' object has no attribute 'is_relation'

2017-08-25 Thread Django
#28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' 
object
has no attribute 'is_relation'
-+
 Reporter:  Logan Gunthorpe  |Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  Migrations   |  Version:  1.11
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+

Comment (by testvinder):

 I have the same problem. I have a migration that is trying to remove a
 field which has already been deleted from the database. I have no problems
 running migrations with 1.10.7.
 I would be nice if 1.11.4 could at least let the user know which migration
 is causing the error.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.81fbc02bcdd205a36e4e59075e727b5e%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' object has no attribute 'is_relation'

2017-08-15 Thread Django
#28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' 
object
has no attribute 'is_relation'
-+
 Reporter:  Logan Gunthorpe  |Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  Migrations   |  Version:  1.11
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+

Comment (by Python Force):

 I cannot because it took me 2 days to find out what it was and now it is
 fixed. Problem was that the migration with the missing field in the
 database based on that function was coming empty and you calling a method
 on that which is throwing an error.

 As Logan said "Seeing as the comment above implies that old_field is None
 or ... would be a valid solution I don't see why you wouldn't just put
 that in."

 I have explained everything above in details that is a simple project and
 it happened precisely just like that. I am not sure how better I can
 describe it. I am not sure why you have changed that migration function if
 this one is working well...in 1.10.7.

 {{{
 def state_forwards(self, app_label, state):
  new_fields = []
  for name, instance in state.models[app_label,
 self.model_name_lower].fields:
  if name != self.name:
  new_fields.append((name, instance))
  state.models[app_label, self.model_name_lower].fields = new_fields
  state.reload_model(app_label, self.model_name_lower)
 }}}

 I know 1.11 is a new version but I do not think it would crash the system
 anyway - This

 {{{
 old_field = None
 }}}

 is causing the error. And as a good practice and good software engineering
 if it is None why you did not even put there

 {{{
 try:
 except
 }}}

 at least. Logan and I gave you a hint, and it has happened to 2 people
 already within 3 months, so something must be going on in there.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.7663a1f205af4b9050cfe1036e14c581%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' object has no attribute 'is_relation'

2017-08-12 Thread Django
#28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' 
object
has no attribute 'is_relation'
-+
 Reporter:  Logan Gunthorpe  |Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  Migrations   |  Version:  1.11
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+

Comment (by Tim Graham):

 Can you please provide a sample project that reproduces the problem?

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.4cd47b4dbecf624d3b68149ae958b54b%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' object has no attribute 'is_relation'

2017-08-12 Thread Django
#28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' 
object
has no attribute 'is_relation'
-+
 Reporter:  Logan Gunthorpe  |Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  Migrations   |  Version:  1.11
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+
Changes (by Python Force):

 * status:  closed => new
 * resolution:  needsinfo =>


Old description:

> Hi,
>
> I'm trying to upgrade my project (originally created on 1.7) to the
> latest release but there's an issue with my existing migration files not
> working. The backtrace is below.
>
> I'll attache my migration files but it seems to be related to the
> migration removing the 'id' field which was automatically created and
> then removed in a future migration. Commenting out the RemoveField in the
> second migration seems to fix the issue but I'm not sure if it's entirely
> correct to do so.
>
> Thanks,
>
> Logan
>

>

> {{{
> Traceback (most recent call last):
>   File "./manage.py", line 10, in 
> execute_from_command_line(sys.argv)
>   File
> "/home/logang/projects/stove/software/website_dev/env/lib/python3.4/site-
> packages/django/core/management/__init__.py", line 363, in
> execute_from_command_line
> utility.execute()
>   File
> "/home/logang/projects/stove/software/website_dev/env/lib/python3.4/site-
> packages/django/core/management/__init__.py", line 355, in execute
> self.fetch_command(subcommand).run_from_argv(self.argv)
>   File
> "/home/logang/projects/stove/software/website_dev/env/lib/python3.4/site-
> packages/django/core/management/base.py", line 283, in run_from_argv
> self.execute(*args, **cmd_options)
>   File
> "/home/logang/projects/stove/software/website_dev/env/lib/python3.4/site-
> packages/django/core/management/base.py", line 330, in execute
> output = self.handle(*args, **options)
>   File
> "/home/logang/projects/stove/software/website_dev/env/lib/python3.4/site-
> packages/django/core/management/commands/migrate.py", line 163, in handle
> pre_migrate_state =
> executor._create_project_state(with_applied_migrations=True)
>   File
> "/home/logang/projects/stove/software/website_dev/env/lib/python3.4/site-
> packages/django/db/migrations/executor.py", line 81, in
> _create_project_state
> migration.mutate_state(state, preserve=False)
>   File
> "/home/logang/projects/stove/software/website_dev/env/lib/python3.4/site-
> packages/django/db/migrations/migration.py", line 92, in mutate_state
> operation.state_forwards(self.app_label, new_state)
>   File
> "/home/logang/projects/stove/software/website_dev/env/lib/python3.4/site-
> packages/django/db/migrations/operations/fields.py", line 148, in
> state_forwards
> delay = not old_field.is_relation
> AttributeError: 'NoneType' object has no attribute 'is_relation'
>
> }}}

New description:

 Hi,

 I'm trying to upgrade my project (originally created on 1.7) to the latest
 release but there's an issue with my existing migration files not working.
 The backtrace is below.

 I'll attache my migration files but it seems to be related to the
 migration removing the 'id' field which was automatically created and then
 removed in a future migration. Commenting out the RemoveField in the
 second migration seems to fix the issue but I'm not sure if it's entirely
 correct to do so.

 Thanks,

 Logan




 {{{
 Traceback (most recent call last):
   File "./manage.py", line 10, in 
 execute_from_command_line(sys.argv)
   File "/home/logang/projects/stove/software/website_dev/env/lib/python3.4
 /site-packages/django/core/management/__init__.py", line 363, in
 execute_from_command_line
 utility.execute()
   File "/home/logang/projects/stove/software/website_dev/env/lib/python3.4
 /site-packages/django/core/management/__init__.py", line 355, in execute
 self.fetch_command(subcommand).run_from_argv(self.argv)
   File "/home/logang/projects/stove/software/website_dev/env/lib/python3.4
 /site-packages/django/core/management/base.py", line 283, in run_from_argv
 self.execute(*args, **cmd_options)
   File "/home/logang/projects/stove/software/website_dev/env/lib/python3.4
 /site-packages/django/core/management/base.py", line 330, in execute
 output = self.handle(*args, **options)
   File "/home/logang/projects/stove/software/website_dev/env/lib/python3.4
 /site-packages/django/core/management/commands/migrate.py", line 163, in
 handle
 pre_migrate_state =
 executor._create_project_state(with_applied_migrations=True)
   

Re: [Django] #28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' object has no attribute 'is_relation'

2017-08-12 Thread Django
#28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' 
object
has no attribute 'is_relation'
-+-
 Reporter:  Logan Gunthorpe  |Owner:  nobody
 Type:  Bug  |   Status:  closed
Component:  Migrations   |  Version:  1.11
 Severity:  Normal   |   Resolution:  needsinfo
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-

Comment (by Tim Graham):

 I closed #28489 as a duplicate but it's also missing steps to reproduce.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.074bfef4898188ed5655e351fcd94c3c%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' object has no attribute 'is_relation'

2017-07-13 Thread Django
#28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' 
object
has no attribute 'is_relation'
-+-
 Reporter:  Logan Gunthorpe  |Owner:  nobody
 Type:  Bug  |   Status:  closed
Component:  Migrations   |  Version:  1.11
 Severity:  Normal   |   Resolution:  needsinfo
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-

Comment (by Matthew Dennis):

 Ive managed to run into this as well on Django 1.11.

 I had merged 2 very diverged branches(git) which had conflicting
 migrations that couldn't be merged. I deleted 2 leaf migrations that had
 been made on the branch and was just going to run make migrate to create
 only the fields that were different. I guess you can't do that. Anyway
 long story short I never committed the merge and reset my head but this
 error persists even after the fact. I'm assuming its something to do with
 it thinking I'm at a point that I'm not/doesn't exist.

 I can't give you guys solid re-creation steps(and I don't know a lot about
 migrations) to get to this point so I'm not asking for a fix here.
 But if you're setting a variable to None and then populating it
 conditionally in a loop it shouldn't be assumed it will have a value once
 the loop is complete. I'm suggesting an assert or some sort of exception
 handling for this. Perhaps with a message suggesting they report their
 steps to create this scenario on here.

 Seeing as the comment above implies that `old_field is None or ...` would
 be a valid solution I don't see why you wouldn't just put that in. Adding
 that to my local file allows me to proceed but because I don't know whats
 causing this I can't merge this branch for fear of breaking it for others.

 Thanks

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.d8b074379e598167120c0033ad5acb69%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' object has no attribute 'is_relation'

2017-05-08 Thread Django
#28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' 
object
has no attribute 'is_relation'
-+-
 Reporter:  Logan Gunthorpe  |Owner:  nobody
 Type:  Bug  |   Status:  closed
Component:  Migrations   |  Version:  1.11
 Severity:  Normal   |   Resolution:  needsinfo
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Tim Graham):

 * status:  new => closed
 * resolution:   => needsinfo


Comment:

 Closing as "needsinfo" absent steps to reproduce.

--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.da44ef8e7b064fcdfe30dd7d105b828f%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' object has no attribute 'is_relation'

2017-05-08 Thread Django
#28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' 
object
has no attribute 'is_relation'
-+
 Reporter:  Logan Gunthorpe  |Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  Migrations   |  Version:  1.11
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+

Comment (by Logan Gunthorpe):

 I'm not exactly sure how I got the exact migrations I have.  I'm pretty
 sure I created the model with the onetoonefield, then set it as
 primary_key in a second migration (thus removing the id field).

 However, trying to reproduce this with a minimal setup always seems to
 work. I wonder if I did something really stupid and remove the id field
 from the initial migration. It was so long ago I can't really say for
 sure. Adding it back in seems to fix my problem.

 If you want to assume that's what happened close this report I'm fine with
 that as I have a reasonable fix.

 Thanks,

 Logan

--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.562349582e6a3836c0d02a2a3def1b3b%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' object has no attribute 'is_relation'

2017-05-08 Thread Django
#28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' 
object
has no attribute 'is_relation'
-+
 Reporter:  Logan Gunthorpe  |Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  Migrations   |  Version:  1.11
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+
Changes (by Logan Gunthorpe):

 * Attachment "bisect.log" added.


--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.41a22d7185001cdd179d39e9a6ed037e%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' object has no attribute 'is_relation'

2017-05-08 Thread Django
#28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' 
object
has no attribute 'is_relation'
-+
 Reporter:  Logan Gunthorpe  |Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  Migrations   |  Version:  1.11
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+

Comment (by Logan Gunthorpe):

 Sorry for the delay, the bug tracker didn't pick up my email address so it
 never sent me any emails.

 I've bisected to find this is the first bad commit:

 45ded053b1f4 Fixed #27666 -- Delayed rendering of recursivly related
 models in migration operations.

 I'll attach a bisect log.

 So far, I have not been able to produce a minimal example. I'm not sure
 why that is.

 Thanks,

 Logan

--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.80513f50e40b8562f45bac4b29d772b8%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' object has no attribute 'is_relation'

2017-04-14 Thread Django
#28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' 
object
has no attribute 'is_relation'
-+
 Reporter:  Logan Gunthorpe  |Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  Migrations   |  Version:  1.11
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+

Comment (by Markus Holtermann):

 As Tim suggested, it would be helpful to have your full migration history
 from the time the field was first added, up to this migration that fails.
 Including field and model renames, etc. If you could then slim that down
 to a minimal example that would be rad.

--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.ca01861275f0dc62c10c5bd8a0e1dd81%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' object has no attribute 'is_relation'

2017-04-14 Thread Django
#28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' 
object
has no attribute 'is_relation'
-+
 Reporter:  Logan Gunthorpe  |Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  Migrations   |  Version:  1.11
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+
Changes (by Markus Holtermann):

 * stage:  Unreviewed => Accepted


Comment:

 I'm not entirely sure _how_ you got to that line `delay = not
 old_field.is_relation` with `old_field` being `None` as this means there's
 no field with that name in `state.models[app_label,
 self.model_name_lower].fields`, but I think it's safe to go with `delay =
 old_field is None or not old_field.is_relation`.

--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.274cf97332710081d3d192355eb24efb%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' object has no attribute 'is_relation' (was: Django 1.11 Migration Issue)

2017-04-13 Thread Django
#28073: RemoveField.state_forwards() crashes with AttributeError: 'NoneType' 
object
has no attribute 'is_relation'
-+--
 Reporter:  Logan Gunthorpe  |Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  Migrations   |  Version:  1.11
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Unreviewed
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+--
Changes (by Tim Graham):

 * type:  Uncategorized => Bug


Comment:

 Could you provide a more minimal (e.g. not involve other apps like
 `timezone_field`) and complete example (including models)?

 Ideally, you could also
 [https://docs.djangoproject.com/en/dev/internals/contributing/triaging-
 tickets/#bisecting-a-regression bisect] to find the commit where the
 behavior changed.

--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.aff903a9442d8feb8b331fcab44715a1%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.