Open gibsonbailey opened 4 years ago
Merging #97 into master will increase coverage by
0.01%
. The diff coverage is100%
.
@@ Coverage Diff @@
## master #97 +/- ##
==========================================
+ Coverage 98.59% 98.61% +0.01%
==========================================
Files 3 3
Lines 213 216 +3
==========================================
+ Hits 210 213 +3
Misses 3 3
Impacted Files | Coverage Δ | |
---|---|---|
drf_writable_nested/mixins.py | 98.52% <100%> (+0.02%) |
:arrow_up: |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update 87a1476...771a4f7. Read the comment docs.
@gibsonbailey Thanks for the contribution. Could you please add a failing test which is fixed with your changes?
Yes, thanks for the consideration.
@ruscoder Test has been added. Thanks Vadim!
@gibsonbailey Thanks for the tests.
I'm not sure that this logic should work in this way.
Let's consider how Django works with null=True
and on_delete=CASCADE
.
https://docs.djangoproject.com/en/2.2/ref/models/fields/#django.db.models.ForeignKey.on_delete
With CASCADE, Django deletes the instance if the related instance is deleted. To avoid this you should pass SET_NULL/SET_DEFAULT
.
So, I think the logic should be changed to use on_delete
param instead of null
My comment is still actual. So I don't close it and don't accept for now.
When updating an instance with foreign key relations, the objects linking to the instance should not be deleted. Instead, the foreign key should simply be removed from the objects to the instance. This commit checks if the related field is a foreign key, and, if so, it unlinks the object. If the field cannot be null, the object still gets deleted, as it does in the current state of the master branch.