【问题标题】:Django forms, saving non-user submitted dataDjango 表单,保存非用户提交的数据
【发布时间】:2010-07-25 05:51:12
【问题描述】:
class SomeModel(models.Model):
     text = models.TextField()
     ip = models.IPAddressField()
     created_on = models.DateTimeField()
     updated_on = models.DateTimeField()

假设我有一个模型,如果我只想显示“文本”字段小部件供用户提交数据,但我显然不希望用户看到 ip、created_on、updated_on 的小部件被改变。是的,我知道我可以将它添加为表单的隐藏字段,但这不是我想要的。

我更想知道如何在呈现表单时根本不呈现这些字段,而只是在发布表单并通过表单验证时动态填充字段?我猜想在清理/验证表单时以某种方式覆盖 ip,created_on,updated_on 的空白值。我知道如何通过使用 request.POST.copy 并注入我的值在视图中执行此操作,但我想知道在模型或表单中是否有可能。

【问题讨论】:

    标签: python django forms


    【解决方案1】:

    两件事:

    第一ModelForms

    Class SomeModelForm(ModelForm):
        class Meta:
            exclude = ['ip','created_on', 'updated_on']
    

    两个Model Fields API

    class SomeModel(models.Model):
       text = models.TextField()
       ip = models.IPAddressField()
       created_on = models.DateTimeField(auto_now_add=True)
       updated_on = models.DateTimeField(auto_now=True)
    

    三:

    对于ip,我认为你应该在你的意见中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-30
      • 2018-02-17
      相关资源
      最近更新 更多