【问题标题】:How to make a field required if the request is POST but if the request is PUT the field not required? (django model)如果请求是 POST 但如果请求是 PUT 则不需要字段,如何设置必填字段? (django模型)
【发布时间】:2020-11-25 08:49:47
【问题描述】:

我创建了一个包含 7 个字段的模型,其中所有字段 blank=True, null=True 但其中一个是必需的。问题是我想让它只需要 requestPOST 否则它不需要例如:如果 PUT 方法用户根本不需要提及。

【问题讨论】:

    标签: django reactjs model field


    【解决方案1】:

    你不应该根据你的请求类型来满足你的朋友要求,而应该根据你的道具。

    我假设如果您正在编辑模型,您有预填充的字段,这意味着您可以访问组件中的模型数据。

    所以,不要专注于您的请求类型,而是执行以下操作:

    import React from 'react'
    
    const myComponent = ({ myData = {}}) => {
      return (
        <input type='text' required={ myData && myData.whatever } />
      )  
    }
    
    export default myComponent
    

    通过使用此语法,只有在传递现有模型时才需要您的字段。

    【讨论】:

    • 是的,我已经做到了setState(pre=&gt;{...pre,newdata}),但我正在尝试找到一种更优雅的方式
    • 我假设你对 React 还很陌生,所以如果你一开始有点挣扎也没关系!现在,您可以编辑您的问题以便包含一些代码吗?尤其是包含表单的组件。
    【解决方案2】:

    在views.py 函数本身中创建一个检查器怎么样? 在views.py中

    def ...(request):
       if request.method == 'PUT':
           if not <field you want>:
               <will run if the field was empty>
           else:
               <will run if there was a value>
       elif request.method == 'POST':
           <will run if the method is POST>
    

    【讨论】:

      猜你喜欢
      • 2020-07-20
      • 1970-01-01
      • 1970-01-01
      • 2017-11-15
      • 2018-07-12
      • 1970-01-01
      • 1970-01-01
      • 2016-02-25
      • 1970-01-01
      相关资源
      最近更新 更多