Отправить форму с помощью Django в функции view и связать ее с request.user

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

views.py

def kapcsolodasok(request):
    
    profile = Profile.objects.get(user=request.user)
    related_users = Profile.objects.filter(projekt=profile.projekt)


    context = {
        'related_users': related_users,
        'profile': profile,
    }


    if request.method == 'POST':
         kap_bar_01 = request.POST.get('kap_bar_01') 
         kap_bar_02 = request.POST.get('kap_bar_02')
         kap_bar_03 = request.POST.get('kap_bar_03')
         kap_bar_04 = request.POST.get('kap_bar_04')
         kap_bar_05 = request.POST.get('kap_bar_05')

         kapcsolodasok = Kapcsolodasok(kap_bar_01=kap_bar_01, kap_bar_02=kap_bar_02, kap_bar_03=kap_bar_03, kap_bar_04=kap_bar_04, kap_bar_05=kap_bar_05)
         kapcsolodasok.save()

         def form_valid(self, form):
             form.instance.user_name = self.request.user

             return super().form_valid(form)

     return render(request, 'stressz/kapcsolodasok.html', context)

models.py

 class Kapcsolodasok(models.Model):
    def __str__(self):
        return str(self.user_name)

    user_name = models.ForeignKey(User, on_delete=models.CASCADE, default=1)
    date = models.DateField(auto_now_add=True, auto_now=False, blank=True)
    kap_bar_01 = models.TextField(max_length=200)
    kap_bar_02 = models.TextField(max_length=200)
    kap_bar_03 = models.TextField(max_length=200)
    kap_bar_04 = models.TextField(max_length=200)
    kap_bar_05 = models.TextField(max_length=200)
    
    def get_absolute_url(self):
        return "/mpa/siker"

class Projekt(models.Model):
    
    def __str__(self):
        return str(self.projekt)

    projekt = models.TextField(max_length=150)
    date = models.DateField(auto_now_add=True, auto_now=False, blank=True)

class Profile(models.Model):
    
    def __str__(self):
        return str(self.user)

    user = models.OneToOneField(User, null=True, on_delete=models.CASCADE)
    date = models.DateField(auto_now_add=True, auto_now=False, blank=True)
    projekt = models.ForeignKey(Projekt, on_delete=models.CASCADE, default=3)   

@receiver(post_save, sender=User)
def create_user_profile(sender, instance, created, **kwargs):
    if created:
        Profile.objects.create(user=instance)

@receiver(post_save, sender=User)
def save_user_profile(sender, instance, **kwargs):
    instance.profile.save()

forms.py

class KapcsolodasokForm(forms.ModelForm):
    class Meta:
        model =  Kapcsolodasok
        fields = '__all__'

Я думаю, что html не нужен ей. Что я делаю не так? В CreateView этот метод работает нормально

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