bugfix: if update=True, and object doesn't exist, don't use
get_or_create()