Django armazenando dados anônimos do usuário

Eu tenho um modelo de django que armazena dados de usuário e produto de uma entrada de formulário:

def ProductSelection(request, template_name='product_selection.html'):
    ...
    if user.is_authenticated():
        user = request.user
    else:
        # deal with anonymous user info
    project = Project.objects.create(
        user=user,
        product=form.cleaned_data["product"],
        quantity=form.cleaned_data["product_quantity"],
    )

É claro que isso é bom para usuários autenticados, mas também quero poder armazenar projetos de usuários anônimos e, se possível, associá-los ao usuário quando eles eventualmente se registrarem e se autenticarem.

Minha idéia é criar um usuário anônimo com nome = alguma_variável (registro de data e hora concatenado com um hash aleatório?) E, em seguida, salvar esse nome de usuário nos dados da sessão. Se eu garantir que essa variável de sessão, se existir, for usada para registrar toda a atividade de projetos desse usuário, devo poder atualizar os projetos com as credenciais reais do usuário quando eles se registrarem.

Isso é excessivamente complicado e frágil? Eu corro o risco de salvar milhares de linhas de dados desnecessariamente? Qual seria a abordagem ideal para esse problema comum?

Qualquer orientação sobre isso seria muito apreciada.

questionAnswers(2)

yourAnswerToTheQuestion