#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. Я добавляю некоторые изменения к своему первоначальному ответу, дайте мне знать, работает это или нет