Здравствуйте.
ошибка: IntegrityError NOT NULL constraint failed: test_model_link2.model_id
в общем есть 2 модели:
- 3d модель с описанием и прочее
- ссылки на архив ( их может быть несколько поэтому в отдельную модель отвел)
class Model3D(models.Model):
class Meta():
db_table = 'test_model2'
name = models.CharField(verbose_name='Название модели', max_length=130)
categories = models.TextField(verbose_name='Выбрать категории', max_length=300)
tags = models.TextField(verbose_name='Ключевые слова (через запятую)', max_length=300)
pub_date = models.DateField(auto_now_add=True)
image = models.ImageField(
verbose_name='Изображение', max_length=100, upload_to='ddd/%Y/%m')
pdf = models.FileField(
verbose_name='PDF или другое', upload_to='ddd/%Y/%m', max_length=180)
class ModelLink(models.Model):
class Meta():
db_table = 'test_model_link2'
model = models.ForeignKey(Model3D, on_delete=models.CASCADE)
namelink = models.CharField(verbose_name='Наименование', max_length=100)
link = models.URLField(max_length=200 , unique=True)
соответственно 2 формы:
class Model3DForm(ModelForm):
class Meta:
model = Model3D
fields = ['name', 'categories', 'tags', 'image', 'pdf']
class ModelLinkForm(ModelForm):
class Meta:
model = ModelLink
fields = ['namelink', 'link']
в views.py:
def add_model(request):
if request.method == 'POST':
form = Model3DForm(request.POST, request.FILES)
form2 = ModelLinkForm(request.POST)
if form.is_valid() and form2.is_valid():
form.save()
form2.save()
return render_to_response( 'model_saved.html', {'name': 'тут имя модели'})
else:
form = Model3DForm()
form2 = ModelLinkForm()
return render(request, 'model_add.html', {'form': form, 'formlink': form2} )
Updated 6 April 2016, 20:39 by kabilov2011.