Another way, that, IMHO, feels cleaner than, but is similar to @erichonkanen’s answer is something like this:
class ProjectGroupMembershipInline(admin.StackedInline):
# irrelevant bits....
def formfield_for_foreignkey(self, db_field, request, **kwargs):
if db_field.name == "group":
try:
parent_id = request.resolver_match.args[0]
kwargs["queryset"] = Group.objects.filter(some_column=parent_id)
except IndexError:
pass
return super().formfield_for_foreignkey(db_field, request, **kwargs)