<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def create_track_token(request):
 """Returns ``TrackToken``. ``TrackToken' contains request and user making changes. It can be passed to ``TrackedModel.save`` instead of ``request``. It is intended to be used when passing ``request`` is not possible e.g. when ``TrackedModel.save`` will be called from celery task. """

    from tracked_model.models import RequestInfo
    request_pk = RequestInfo.create_or_get_from_request(request).pk
    user_pk = None
    if request.user.is_authenticated():
        user_pk = request.user.pk

    return TrackToken(request_pk=request_pk, user_pk=user_pk)