2015-09-18 1 views
0

Я использую django 1.8. Я пытаюсь вставить значение в базу данных с помощью CreateView в django. Я могу вставить данные в базу данных. Проблема состоит в том, чтобы вставить значение одного поля (много-ко-многим). Поле должно вставить другую таблицу. Я объясню ниже краткоНевозможно вставить значение поля много-ко-многим в другую таблицу в django

models.py

class Model1(models.Model): 
    name = models.CharField() 
    address = models.CharField() 
    first_name = models.ManytoManyField(Model2) 

class Model2(models.Model): 
    first_name = models.CharField() 

forms.py

class sampleForm(forms.ModelForm): 
    name = forms.TextInput() 
    address = forms.TextInput() 
    first_name = forms.TextInput() 

views.py

class Create(CreateView): 
    model = Model1 
    form = sampleForm 
    def form_valid(form): 
     form.save() 
     return super(Create,self).form_valid(form) 

Когда я пытаюсь вставить значение в базу данных, имя и адрес успешно помещаются в одну таблицу. first_name необходимо вставить в другую таблицу. Но он не вставлен. Может ли кто-нибудь помочь мне сделать это.

+0

что 'sampleForm'? – ozgur

+0

sampleForm означает имя класса, которое находится в файле forms.py. –

+0

Почему вы его не показываете? проблема может быть связана с этим. – ozgur

ответ

0

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

class Create(CreateView): 
    model = Model1 
    form = sampleForm 
    def form_valid(form): 
     form.save(commit=false) 
     form.save() 
     form.save_m2m() 
     return super(Create,self).form_valid(form) 

 Смежные вопросы

  • Нет связанных вопросов^_^