Slugs should be unique.
Changed back to direct self.by_id and self.by_slug.
Added assign_wares and assign_categories, and override save and update to call 'em.