An off-duty police officer subdued the gunman, the Los Angeles Times reported.
The shooting occurred at St. John Baptist de la Salle Catholic Church in the Granada Hills section of LA as the parish prepared for a festival. A witness told KABC-TV she saw a man wandering around with a tennis bag and then getting out the gun and opening fire.
Los Angeles Police Officer Norma Eisenman said the man and his girlfriend were believed to be involved in a custody dispute.
"We have a parent who apparently has a restraining order, and he came in, kissed his son and pulled an assault rifle out and shot three people," parent Martinique Williams told KABC.
In addition to the woman, 29, two men in their 40s were shot. All three were reported in stable condition.
The woman's 9-year-old son was not injured.