0
class Foo(models.Model)
field1 = models.IntegerField()
field2 = models.IntegerField()
bar_field = models.ForeignKey("Bar", null=True, blank=True)
在视图中,我给出了Foo pk,并且从中我需要抓取相应的Bar
对象,进行编辑,然后再次保存。什么是最好的方法来做到这一点?编辑外键对象
def my_view(request, foo_pk)
foo = get_object_or_404(Foo, pk=foo_pk)
bar = foo.bar_field
if not bar:
bar = Bar()
#bar = Bar(foo=foo) # this is normally how I would do it
# if I were using ManyToMany
bar_form = BarForm(instance=bar) #sent off to the view
#[...]
bar_form.save() #if bar_field was null, this won't get connected to Foo when saved
问题是,当我创建Bar的空实例时,它没有以任何方式连接到Foo。当我保存bar_form
时,它正在保存/创建对象,但它只是一个人站立。我该如何重写这段代码,以便它在对象已经存在的时候以及当它不存在的时候能够工作?