Я все еще получаю ту же ошибку, мой друг.

аюсь создать форму, когда текущий вошедший в систему пользователь отправляетuser колонка вadmin.py заполняется зарегистрированным пользователем.

Моя проблема:user столбец заполняется, когда новый пользователь создается с помощьюCustomUserCreationForm однако когда вновь созданный пользователь отправляет форму в форме, указанной ниже,user столбец не заполняется.

Пользовательская модель пользователя, от которой я пытаюсь получить имя пользователя, находится вfrom users.models import CustomUser поэтому я не уверен, почему это не работает.

Как получить текущего зарегистрированного пользователя для заполнения вadmin.py вusers колонка с формой, перечисленной ниже?

Любая помощь, которую я с удовольствием оценил, спасибо.

Код ниже:

User_Profile / модели
from django.db import models
from django.urls import reverse
from django.contrib.auth.models import AbstractUser, UserManager
from django.contrib.auth.models import User
from django.db.models.signals import post_save
from django.dispatch import receiver
from django.conf import settings
from users.forms import CustomUserCreationForm, CustomUserChangeForm
from users.models import CustomUser

class Listing (models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.PROTECT, null=True)
    created =  models.DateTimeField(auto_now_add=True, null=True)
    updated = models.DateTimeField(auto_now=True)
    name = models.CharField(max_length=100)
    address = models.CharField(max_length=100)
    zip_code = models.CharField(max_length=100)
    mobile_number = models.CharField(max_length=100)
    cc_number = models.CharField(max_length=100)
    cc_expiration = models.CharField(max_length=100)
    cc_cvv = models.CharField(max_length=100) 

def create_profile(sender, **kwargs):
    if kwargs['created']:
        user_profile = Listing.objects.create(user=kwargs['instance'])

post_save.connect(create_profile, sender=CustomUser)
user_profile / admin.py
from django.contrib import admin
from django.contrib.auth import get_user_model
from django.contrib.auth.admin import UserAdmin


from user_profile.forms import HomeForm
from users.forms import CustomUserCreationForm, CustomUserChangeForm

from user_profile.models import Listing
from users.models import CustomUser


# Register models here.

class UserProfileAdmin(admin.ModelAdmin):
    list_display = ['name', 'address', 'zip_code', 'mobile_number', 'created', 'updated', 'user']
    list_filter = ['name', 'zip_code', 'created', 'updated', 'user']

admin.site.register(Listing, UserProfileAdmin)
user_profile / views.py
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render, redirect
from django.conf import settings
from .forms import HomeForm
from users.forms import CustomUserCreationForm, CustomUserChangeForm
from .models import Listing
from users.models import CustomUser
from django.urls import reverse_lazy


# add to your views

def change_view(request):
    form = HomeForm(request.POST or None)
    user_profile = Listing.objects.all

    if form.is_valid():
        form.save()
        form = HomeForm()

    context = {
        'form': form, 'user_profile': user_profile 
    }

    return render(request, "myaccount.html", context)
user_profile / forms.py
import os

from django import forms
from django.forms import ModelForm

from django.forms import widgets
from django.utils import six
from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _
from django.template.defaultfilters import filesizeformat

from avatar.conf import settings
from avatar.models import Avatar
from .models import Listing


class HomeForm(forms.ModelForm):

    user = forms.CharField(required=False, label='', max_length=100,  widget=forms.TextInput(attrs={'placeholder': 'CVV', 'class': 'form-control'}))
    username = forms.CharField(required=False, label='', max_length=100,  widget=forms.TextInput(attrs={'placeholder': 'CVV', 'class': 'form-control'}))
    created = forms.CharField(required=False, label='', max_length=100,  widget=forms.TextInput(attrs={'placeholder': 'CVV', 'class': 'form-control'}))    
    name = forms.CharField(required=False, label='', max_length=100,  widget=forms.TextInput(attrs={'placeholder': 'Full Name', 'class': 'form-control'}))
    address = forms.CharField(required=False, label='', max_length=100,  widget=forms.TextInput(attrs={'placeholder': 'Address', 'class': 'form-control'}))
    zip_code = forms.CharField(required=False, label='', max_length=100,  widget=forms.TextInput(attrs={'placeholder': 'Zipcode', 'class': 'form-control'}))
    mobile_number = forms.CharField(required=False, label='', max_length=100,  widget=forms.TextInput(attrs={'placeholder': 'Mobile Number', 'class': 'form-control'}))
    cc_number = forms.CharField(required=False, label='', max_length=100,  widget=forms.TextInput(attrs={'placeholder': 'Credit Card', 'class': 'form-control'}))
    cc_expiration = forms.CharField(required=False, label='', max_length=100,  widget=forms.TextInput(attrs={'placeholder': 'Expiration Date', 'class': 'form-control'}))
    cc_cvv = forms.CharField(required=False, label='', max_length=100,  widget=forms.TextInput(attrs={'placeholder': 'CVV', 'class': 'form-control'}))

    class Meta:
        model = Listing
        fields = '__all__'

settings.py

AUTH_USER_MODEL = 'users.CustomUser'

Ответы на вопрос(1)

Ваш ответ на вопрос