What do you mean Django doesn't enforce them? Are you saying that transaction.atomic doesn't actually run in an atomic transaction?
If you'd want atomic transactions for the whole Django project, you could just set the ATOMIC_REQUESTS flag in the settings.