and*_*abs 5 django django-models django-forms django-admin
如问题所问:我可以创建不会保存在数据库中的django模型(models.Model)吗?
原因是我想在我的 django 管理员中使用它来构建基于 forms.ModelForm 的自定义表单
您可以覆盖模型的save()方法以防止保存到数据库,并用于managed = False防止 Django 创建适当的表:
class NonPersistantModel(models.Model):
def save(self, *args, **kwargs):
pass
class Meta:
managed = False
Run Code Online (Sandbox Code Playgroud)
请注意,当批量操作尝试保存此模型的实例时,这将引发错误,因为save不会使用该方法并且该表将不存在。在您的用例中(如果您只想使用模型来构建ModelForm),这应该不是问题。
但是,我强烈建议您将表单构建为forms.Form. 模型是您的数据库表的抽象,而普通表单ModelForm可以做任何生成的事情,等等。
| 归档时间: |
|
| 查看次数: |
1732 次 |
| 最近记录: |