У меня есть модель django, которая хранит данные пользователя и продукта из ввода формы:
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"],
)
Конечно, это нормально для аутентифицированных пользователей, но я также хочу иметь возможность хранить анонимные пользовательские проекты и, если возможно, связывать их с пользователем, когда они в конечном итоге регистрируются и аутентифицируются.
Моя идея - создать анонимного пользователя с именем = some_variable (временная метка, связанная со случайным хешем?), а затем сохранить это имя пользователя в данных сеанса. Если я гарантирую, что эта переменная сеанса, если она существует, используется для записи активности всех проектов этого пользователя, я должен иметь возможность обновлять проекты с помощью реальных учетных данных пользователя при их регистрации.
Является ли это чрезмерно сложным и хрупким? Не могу ли я экономить тысячи строк данных без необходимости? Каким будет оптимальный подход для этой общей проблемы?
Любые рекомендации по этому вопросу будут высоко оценены.