docs: def initial_validation(request, prefix):
      """
      Returns the related model instance and post data to use in the
      comment/rating views below.
  
      Both comments and ratings have a ``prefix_ACCOUNT_REQUIRED``
      setting. If this is ``True`` and the user is unauthenticated, we
      store their post data in their session, and redirect to login with
      the view's url (also defined by the prefix arg) as the ``next``
      param. We can then check the session data once they log in,
      and complete the action authenticated.
  
      On successful post, we pass the related object and post data back,
      which may have come from the session, for each of the comments and
      ratings view functions to deal with as needed.
      """
      post_data = request.POST
      login_required_setting_name = prefix.upper() + "S_ACCOUNT_REQUIRED"
      posted_session_key = "unauthenticated_" + prefix
      redirect_url = ""
      if getattr(settings, login_required_setting_name, False):
          if not request.user.is_authenticated():
              request.session[posted_session_key] = request.POST
              error(request, _("You must be logged in. Please log in or "
                               "sign up to complete this action."))
              redirect_url = "%s?next=%s" % (settings.LOGIN_URL, reverse(prefix))
          elif posted_session_key in request.session:
              post_data = request.session.pop(posted_session_key)
      if not redirect_url:
          model_data = post_data.get("content_type", "").split(".", 1)
          if len(model_data) != 2:
              return HttpResponseBadRequest()
          try:
              model = apps.get_model(*model_data)
              obj = model.objects.get(id=post_data.get("object_pk", None))
          except (TypeError, ObjectDoesNotExist, LookupError):
              redirect_url = "/"
      if redirect_url:
          if request.is_ajax():
              return HttpResponse(dumps({"location": redirect_url}))
          else:
              return redirect(redirect_url)
      return obj, post_data