Changes between Initial Version and Version 1 of Ticket #28073, comment 15
- Timestamp:
- Nov 13, 2017, 4:08:50 PM (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #28073, comment 15
initial v1 8 8 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. 9 9 10 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.10 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 not 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. 11 11 12 12 {{{ … … 26 26 }}} 27 27 28 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.28 My suggestions is based upon only this snippet of code and I am not aware of any other context that may be relevant. I just tried this on the development branch and am now getting `django.core.exceptions.FieldDoesNotExist: Translatorcache has no field named 'lastModifiedTime'` which I can only assume is an improvement. 29 29 30 30 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.