2016-03-03 3 views
0

Есть ли способ создать объект другого экземпляра модели в форме django для указанной модели? Например, если вы добавите нового пользователя с помощью администратора django, у вас есть возможность создать другую группу и добавить пользователя к существующему.Форма Django для модели создает объект другой модели

@Edit Я попытаюсь разъяснить лучше другой пример ... У меня есть форма продукта, чтобы добавить новый продукт, пользователь может выбрать, к какой категории он принадлежит, но если нет такой категории, он должен будет создать соответствующую категорию. А затем добавьте этот продукт в новую категорию и сохраните новый продукт.

+1

Это трудно следовать. Можете ли вы объяснить другими словами или привести пример? –

ответ

1
if form.is_valid(): 
    c = form.cleaned_data["category"] 
    category = Category.objects.filter(name=c).first() 
    if not category: 
     category = Category.objects.create(name=c) 
    product = form.save(commit=False) 
    product.category = category 
    product.save() 

Вы также можете использовать сигнал pre_save для создания объекта категории. Но это намного проще и легко поддерживать.

+0

Спасибо. Это очень помогло мне. –

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