[Answer]-How to check for a ForeignKey that no longer exists?

1👍

PersonSite.site has null=True, so it makes sense that you have to check if a object exists before accessing it.

In stead of doing all those checks if person_site and person_site.site_id and person_site.site.s_id: you can just query the db and filter the empty sites out.

person_sites = PersonSite.objects.filter(person=cp).filter(site__isnull=False)

This will return only the PersonSite objects where site IS NOT NULL and therefore have a pk.

Leave a comment