问题: 我可以创建django模型(models.Model),它不会在数据库中持久化吗?我可以创建django模型,它不会在数据库中保存吗?
的原因是我想用它在我的Django管理的基础上forms.ModelForm
自定义表单筑底问题: 我可以创建django模型(models.Model),它不会在数据库中持久化吗?我可以创建django模型,它不会在数据库中保存吗?
的原因是我想用它在我的Django管理的基础上forms.ModelForm
自定义表单筑底您可以覆盖模型的save()
方法来防止保存到数据库中,并使用managed = False
防止Django的从创建适当的表中:
class NonPersistantModel(models.Model):
def save(self, *args, **kwargs):
pass
class Meta:
managed = False
注意,当批量操作试图保存该模型的情况下,这将产生一个错误,因为save
方法将不被使用,并且该表将不存在。在你的用例中(如果你只想用这个模型来构建一个ModelForm
)这应该不成问题。
但是,我强烈建议您将表单建立为forms.Form
的子类。模型是数据库表的抽象,而普通形式可以生成任何生成的任何东西,等等。
我无法判断,如果这个建议是最好的做法,或只是一些作品。在极端情况下,如果我要使用带有信用卡信息的模型,这意味着它不能永久保存到数据库中,那么应该编写代码?非常感谢 – fernandosjp