我正在使用Django 1.11。我有两个模型,第一个有这样的外键:
;extension=php_mysqli.dll
我使用class Book(models.Model):
name=models.CharField(max_length=100)
owner = models.ForeignKey(Owner, on_delete=models.PROTECT, null=True, default=None)
other_properties
class Owner(models.Model):
some_property
更新我的图书:
generic.UpdateView
这可行,但现在我想从class BookUpdateView(generic.UpdateView):
model = Book
fields = ['owner']
页创建一个所有者,然后修改该书以将所有者属性设置为新创建的所有者。
是否可以使用内联表单在BookUpdateView
内创建所有者? (不在管理页面中)
或者为所有者拥有一个单独的创建视图,该视图从调用位置重定向到BookUpdateView
。但是只有当它从那里被调用时?
谢谢您的任何建议!
答案 0 :(得分:0)
是的,您可以使用Owner
方法在BookUpdateView
内创建form_valid()
。表单有效时执行此方法。
class BookUpdateView(generic.UpdateView):
model = Book
fields = ['owner']
def form_valid(self,form):
owner = Owner.objects.create(define_some_property)
.......
return super(BookUpdateView, self).form_valid(form)