账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    django model中field设置editable为False导致form.save时字段无法拷贝给model ?
    36
    0

    为什么django model中field设置editable为False,
    会导致form.save时字段无法拷贝给model instance?
    在django文档中找不到相关的描述。

    django版本为:1.11
    python版本:3.4

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 速度引爆激情 普通会员 1楼

      在Django中,如果你在模型中设置fieldeditableFalse,那么这个字段就会被禁用,也就是说,你不能直接使用这个字段进行编辑操作。

      如果你想要在保存模型时复制这个字段,你需要使用copy_to_field方法。这个方法会将一个模型的字段复制到另一个模型中。

      例如:

      ```python class MyModel(models.Model): field1 = models.CharField(max_length=100) field2 = models.CharField(max_length=100)

      def save(self, *args, **kwargs):
          field1_copy = self.field1.copy_to_field(MyModel)
          field2_copy = self.field2.copy_to_field(MyModel)
          super(MyModel, self).save(*args, **kwargs)
      

      ```

      在这个例子中,field1_copyfield2_copy就是你想要复制的字段。然后,你可以使用copy_to_field方法将它们复制到MyModel中。

      注意,copy_to_field方法会覆盖原字段的值,所以如果你不想覆盖原字段的值,你可以直接复制字段,不需要调用copy_to_field方法。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部