Здравствуйте имеются такие модели, не буду выкладывать полностью а только ключевые моменты
class Vehicle(models.Model):
name = models.CharField('Название техники', max_length=128)
producer = models.ForeignKey(Producer, related_name="spare_technic_producer", verbose_name='Производитель',blank=True, null=True)
class Producer(models.Model):
name = models.CharField('Производитель', max_length=64
)
Это две модели которые связана, мне нужно реализовать в форме что бы сохранялась модель Vehicle ну данные для связи по Produce, может чтото ни так говорю, теперь в преложении формы, вот что я имею в модели
class PostForm(forms.ModelForm):
name = forms.CharField(max_length=128, widget=forms.TextInput(attrs={'class':'form-control'}))
category = forms.ChoiceField(label="Категория", choices=(), widget=forms.Select(attrs={'class':'form-control'}))
producer = forms.ChoiceField(label="Производитель", choices=(), widget=forms.Select(attrs={'class':'form-control'}))
def __init__(self, *args, **kwargs):
super(PostForm, self).__init__(*args, **kwargs)
producer = [(pt.id, pt.name) for pt in Producer.objects.all()]
self.fields['category'].choices = categories_as_choices()
self.fields['producer'].choices = producer
#description = forms.CharField(widget=SummernoteWidget())
count = forms.IntegerField(widget=forms.NumberInput(attrs={'class':'form-control'}))
price = forms.IntegerField(widget=forms.TextInput(attrs={'class':'form-control'}))
class Meta:
model = Vehicle
fields = ('name', 'price', 'count' )
здесь из всего меня интересует только поле producer что бы в не го сохранялось значение для связи
def post(request, **kwargs):
if request.method == 'POST':
postForm = PostForm(request.POST)
p =request.POST
if postForm.is_valid():# and formset.is_valid():
post_form = postForm.save()
#post_form.spare_technic_producer =p['producer']
#post_form.save()
здесь тоже не вся функция только то что влияет на сохранение, последние две строчки закоменчины, это я пробовал сохранять при помощи commit=False, p['producer'] это данные взятые из post
Ну и шаблон
<form id="post_form" method="post" action="/service/post/"
enctype="multipart/form-data">
<div class="form-group">
<label for="id_sender">Название Техники:</label>
{{ postForm.name.errors }}
{{ postForm.name }}
</div>
<div class="form-group">
<label for="id_sender">Производитель:</label>
{{ postForm.spare_technic_producer.errors }}
{{ postForm.producer }}
</div>
{{ formset.management_form }}
<input type="submit" name="submit" value="Submit" />
</form>
данные точно приходят из поста, но сохраняются только не связанные поля, в чем здесь ошибка, вроде как все по документации?