Ошибка типа в объекте / project /create ‘Account’ не поддается повторению

#python #django

#python #django

Вопрос:

Я столкнулся с проблемой. Я не могу назначить пользователя проекту, используя поле «многие ко многим», вот подробности

вот мой model.py

 from django.conf import settings
from django.db import models
from workingSkills.models import Domain,Environment,ToolsAndTechnology

class Project(models.Model):
    profile_of = models.ManyToManyField(settings.AUTH_USER_MODEL, null=False)
    project_title = models.CharField(max_length=100)
    domain = models.ManyToManyField(Domain)
    environment = models.ManyToManyField(Environment)
    tools_and_technology = models.ManyToManyField(ToolsAndTechnology)
  

вот views.py

 @login_required(login_url= 'login')
def createProject(request):
    form = createProjectForm()
    print(request.user)
    if request.method == 'POST':
        form = createProjectForm(data=request.POST)

        if form.is_valid():
            user = Account.objects.filter(request.user)
            instance = form.save(commit=False)
            #instance.save()
      
            instance.profile_of.set(user)
            instance.save()


            return HttpResponseRedirect('createprofile')
    form = createProjectForm
    context = {'form': form}

    return render(request, 'project/create_project.html', context)
  

вот изображение ошибкивведите описание изображения здесь

Ответ №1:

измените это следующим образом, вы должны указать, для какого столбца вы хотите отфильтровать

 from:
Account.objects.filter(request.user)
to:
Account.objects.filter(user=request.user)
  

Вы допустили опечатку в этом наборе запросов

Изменение набора запросов ‘set’ на ‘add’ в строке

Комментарии:

1. Спасибо… Теперь я прошел этап фильтрации. Но здесь появляется ошибка instance.profile_of.set(пользователь)

2. Затем обновите скриншот ваших вопросов

3. Я добавляю некоторые изменения к своему первоначальному ответу, дайте мне знать, работает это или нет