用于模型的Django表单创建另一个模型的对象

时间:2016-03-03 18:35:47

标签: python django

有没有为django表单为指定模型创建另一个模型实例的对象?例如,当您使用django admin添加新用户时,您可以选择创建另一个组,即将用户添加到现有用户。

@Edit 我将尝试用另一个例子更好地澄清...我有一个产品表单,要添加新产品,用户可以选择它属于哪个类别,但如果没有这样的类别,则必须创建相应的类别。然后将此产品添加到新类别并保存新产品。

2 个答案:

答案 0 :(得分: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信号来创建类别对象。但这更容易维护。

答案 1 :(得分:0)

我能够使用karthikr答案以及stackoverflow Django form with choices but also with freetext option?

上的这个主题实现我想要的东西