интересно, может ли кто-нибудь помочь мне. Я пытаюсь написать форму и представление, которое добавляет новые профили пользователей в мою базу данных. Модель User имеет поле ManyToMany, указывающее на таблицу под названием «Интерес», что позволяет пользователям выбирать интересы, которые у них есть.ManyToMany Fields, вызывающие недопустимые аргументы ключевых слов
Модели
class Interest(models.Model):
title = models.TextField()
class User(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
date_of_birth = models.DateField()
email = models.EmailField()
password = models.CharField(max_length=32)
course = models.ForeignKey(Course)
location = models.ForeignKey(Location)
interests = models.ManyToManyField(Interest)
bio = models.TextField(blank=True)
Посмотреть
def add_user(request):
if request.method == 'POST':
form = AddUserForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
submission = User(
first_name=cd['first_name'],
last_name=cd['last_name'],
date_of_birth=cd['date_of_birth'],
email=cd['email'],
password=cd['password'],
course=cd['course'],
location=cd['location'],
interests=cd['interests'], #Line that is causing errors
bio=cd['bio']
)
submission.save()
return HttpResponseRedirect('/add-user/')
else:
form = AddUserForm()
return render(request, 'adduser.html', {'form': form})
Форма
class AddUserForm(forms.ModelForm):
class Meta:
model = User
fields = [
'first_name',
'last_name',
'date_of_birth',
'email',
'password',
'course',
'location',
'interests',
'bio',
]
widgets = {
'password': forms.PasswordInput(),
}
Кто-нибудь есть способ сделать это приста k правильно и разрешить мне создавать новых пользователей?
Большое спасибо!
Удивительный, спасибо огромное Даниэлю! – MrW