title: Psycopg2 is not only accepts None (Nonetype) as a cell entry that can be Null when using %s but not with f-strings
body: <p>I am inserting data into a Postgres DB using Psycopg2 using:</p>
  
  <pre><code>params = "ts, price, volume"
  entry = (1234567, None, 3)
  cur.execute(f"INSERT INTO stock_data ({params}) VALUES {entry};")
  </code></pre>
  
  <p>I have used this pattern of f-string with params and a tuple entry countless times with no issue. </p>
  
  <p>For additional information, the <code>price</code> column does not have any constraints and is a <code>numeric(5)</code>.</p>
  
  <p>For this particular instance, it is giving me the error:</p>
  
  <p><code>psycopg2.ProgrammingError: column "none" does not exist</code></p>
  
  <p>Everything I tried resulted in this error. What did end up working was not using an f-string. The following entry worked:</p>
  
  <p><code>cur.execute(f"INSERT INTO stock_data ({params}) VALUES (%s, %s, %s);", entry)</code></p>
  
  <p>My understanding is that these are identical. Why would the latter work, but including the entry directly into the <code>INSERT</code> statement not work?</p>