I don't know if there even is a way to know which object "belongs" to which linklist, but such a check would be very helpful for find_all_links() in utils.py. I discovered that just calling it with a subset of linklists did not produce the expected result.
Steps to reproduce
- Ensure two linklists A and B exist drawing from distinct objects/fields
- Ensure content exists for each of them containing links
- Ensure populated db tables for
linkcheck_link and linkcheck_url for objects of both linklists
- Run
find_all_links({"A": A})
Expected result
The function goes through each object covered by linklist A and creates new Url and Link objects where needed, and deletes old ones from linklist A that do not exist in content anymore. Objects involved with content from linklist B remain unchanged.
Actual result
The function goes through each object covered by linklist A and creates new Url and Link objects where needed, and deletes all objects not created or found, even if they belong to content for linklist B which is not being indexed. This leads to all objects from B being deleted.