Django передает идентификатор пользователя до отправки формы

Я работаю над приложением Django-Tenant (Multi-Tenant). Я пишу скрипт для создания поддомена. Я пытаюсь сделать так, чтобы created_by был установлен на идентификатор текущего пользователя, который вошел в систему. Как я могу получить ID текущего пользователя для заполнения поля created_by?

views.py

class CreatePortal(View):
    def get(self, request):
        form = CreatePortalForm()
        return render(request, "registration/create_portal.html", {"form": form})

    def post(self, request):
        form = CreatePortalForm(request.POST)
        if form.is_valid():
            getDomain = form.cleaned_data.get('name')
            instance = form.save(commit=False)
            tenant = Client(schema_name=getDomain, name=getDomain, created_by=**[NEED USER ID HERE]**)
            tenant.save()
            domain = Domain()
            domain.domain = (getDomain + ".example.com:8000")
            domain.tenant = tenant
            domain.is_primary
            domain.save()

            with schema_context(tenant.schema_name):
                instance.save()
                redirect = 'http://' + getDomain + '.example.com:8000'
                return HttpResponseRedirect(redirect)
        return render(request, "registraton/create_portal.html", {"form": form})

forms.py

class CreatePortalForm(forms.ModelForm):
    class Meta:
        model = Client
        fields = ["name"]

models.py

Вот строка, в которой я работаю с models.py

created_by = models.ForeignKey(User, on_delete=models.CASCADE)

Я также получаю ошибку, если это не тип User и если я не передаю фактическое число для id, Field 'id' expected a number but got datetime.datetime

Я тоже пробовал это:

user = request.user.id
tenant = Client(schema_name=getDomain, name=getDomain, created_by=user)

но затем получаем эту ошибку:

Cannot assign "1": "Client.created_by" must be a "User" instance.

Я не уверен, как передать ID текущего вошедшего пользователя для заполнения поля формы created_by. Любая помощь будет принята с благодарностью. Я все еще изучаю Django.

Вернуться на верх