我在表单保存时遇到了这个问题,数据需要保存在某个地方,然后通过付款流程,然后成功检索数据并保存到正确的模型。
我已经看到使用会话完成了这项工作,但是使用一些 hacky 方法来保存文件上传,commit=False
而且它看起来不是很 Pythonic
我在想如果我有一个模型类A,并且有一个扩展A的子类,例如A_Temp
class A(models.Model):
name = models.CharField(max_lenght=25)
image = models.ImageField()
class A_Temp(A):
pass
class AForm(forms.ModelForm):
class Meta:
model = A_Temp
在模型表单(A_Temp)保存时,它存储到A_Temp,当支付成功时,将实例移动到父模型类A。
以下是问题:
有没有人这样做过?
如何正确地将子模型类的实例移动到父模型类?
编辑:
还有其他不同的方法可以做到这一点,例如向表中添加额外的字段,是的,如果我在没有 ORM 框架的情况下使用 PHP,我会这样做,但由于 ORM 在 django 中相当不错,我想我可能会尝试不同的东西。
既然我在这里问,意味着我也不相信这种方法。你觉得呢?你有没有什么想法?