django - 我可以创建 django 模型,该模型不会保留在数据库中吗?

标签 django django-models django-forms django-admin

正如问题所问: 我可以创建 django 模型(models.Model),它不会保存在数据库中吗?

原因是我想在我的 django 管理中使用它来基于 forms.ModelForm 构建自定义表单

最佳答案

您可以重写模型的 save() 方法以防止保存到数据库,并使用 management = False 来防止 Django 创建相应的表:

class NonPersistantModel(models.Model):
    def save(self, *args, **kwargs):
        pass

    class Meta:
        managed = False

请注意,当批量操作尝试保存此模型的实例时,这会引发错误,因为不会使用 save 方法,并且表不存在。在您的用例中(如果您只想使用模型构建 ModelForm),这应该不是问题。

但是,我强烈建议将您的表单构建为 forms.Form 的子类。模型是数据库表的抽象,而普通表单能够执行生成的 ModelForm 可以执行的任何操作,甚至更多。

关于django - 我可以创建 django 模型,该模型不会保留在数据库中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22690330/

相关文章:

Django:如何迁移到基于类的索引

python - django Rest框架如何验证对象列表?

python - 编辑 many_to_many 字段时避免 Django 中的重复信号

python - Django cache_page 检查

python - Django Rest Framework - CreateAPIView ForeignKey 查找字段

django - 在Django中,如何获取具有特定用户外键的所有相关对象

mysql - Python Django Mysql 更新查询速度慢

django admin - 访问 BaseInlineFormSet 中的 request.user

django - 赋值前引用的局部变量 'context'

javascript - 在 Django 模板中添加请求变量