【发布时间】:2011-06-15 14:50:47
【问题描述】:
我正在尝试创建一个 Web 应用程序,它基本上是一个漂亮的数据库前端。虽然数据库比单个表更复杂(与许多不同的表有许多不同的关系等),但我想在添加到其中一个主表时创建一个空白行。
我很好奇是否有比我尝试使用的更好的方法在 Django 中完成我的任务。
我不希望用户需要保存他们的表单才能将更改保存到数据库中。为此,我希望在用户访问带有表单的页面后立即创建一个空白记录。基本上,只要用户选择“新建”按钮,就会存在的所有内容都是带有主键的记录和一堆空白字段。
我已将我的模型设置为在除日期字段(使用 auto_now_add 设置)之外的所有字段上都有空白=True 和 null=True。当用户向表单字段添加数据时,我打算以编程方式编写表单以提交数据(即在他们离开字段之后)。如果用户中途停止编辑,或者关闭 jquery ui 选项卡,他们输入的任何数据都将被保存以备将来使用。
尽管设置了所有字段(除了日期和时间字段的 auto_now_add 之外),我在一个字段上得到了一个 IntegrityError(不能为空),该字段在模型中非常清楚地标记为非常空和空白。有没有更好的方法我应该解决这个问题?如果没有,为什么我设置了 null=True 和 blank=True 时会看到此错误?我收到错误是因为视图中的以下行,同样,模型中的字段为 null=True 和 blank=True。
theModel = theModel.objects.create()
非常感谢。
【问题讨论】:
标签: django django-models django-forms django-views