Я пытаюсь получить информацию о пользователе / клиенте и автоматически скопировать ее в новую модель через индивидуальную форму после запроса, но продолжаю получать ошибку. Общий обзор, как показано ниже. (ошибка: ValueError в / create_request / Невозможно назначить " > ":" OrderRequest.user "должен быть экземпляром" Customer ".) модель отношения между моделью клиента и моделью запроса
my views.py, как показано ниже:
from django.shortcuts import render, redirect
from .models import *
from accounts.models import *
from .forms import CreateRequestForm
from django.contrib.auth.decorators import login_required
from accounts.models import *
@login_required(login_url='login')
def createRequest(request):
form = CreateRequestForm()
if request.method =='POST':
form = CreateRequestForm(request.POST)
if form.is_valid():
order = form.save(commit=False)
order.user = request.user
order.save()
return redirect('/')
context = {'form':form}
return render(request, 'commerce_autoparts/request_form.html', context)
здесь мой model.py (autopart_ecommerce): То же, что и на прикрепленном изображении
from django.db import models
from accounts.models import Customer
class Logistic(models.Model):
logistic_method = models.CharField(max_length=30, null=True,
blank=True)
def __str__(self):
return self.logistic_method
class OrderRequest(models.Model):
user = models.ForeignKey(Customer, on_delete=models.CASCADE,
null=True, blank=True)
ref_code = models.CharField(max_length=15, null=True, blank=True)
link = models.URLField(null=True, blank=True)
image = models.ImageField(upload_to='media/images',null=True,
blank=True)
price = models.FloatField(null=True)
draft = models.BooleanField(default=True)
logistic_method = models.ForeignKey(Logistic,
on_delete=models.CASCADE, null=True, blank=True)
note = models.TextField(max_length=100)
date_order = models.DateTimeField(auto_now=True)
Я пробовал много решений из stackoverflow, но не смог понять это правильно. Прошу прощения, если это не сложный вопрос, но я Я застрял над этой проблемой в течение нескольких недель. Было бы полезно иметь какое-то руководство или ссылку. Я надеюсь, что предоставленной информации будет достаточно для ваших рекомендаций.
Спасибо