input: Write a function to implement a Django-like ORM with standard CRUD functionality for a model with a single string attribute 'name'. The function should include methods for Create, Read, Update, and Delete. The script should connect to an in-memory SQLite database and perform the CRUD operations on the 'Models' table.
  assert Model().create("TestName")==None
  assert Model().read()==[(1, 'TestName')]
  assert Model().update("NewTestName")==None
  assert Model().delete("NewTestName")==None
  assert Model().read()==[]
output: import sqlite3
  
  class Model:
      def __init__(self):
          self.conn = sqlite3.connect(':memory:')
          self.cursor = self.conn.cursor()
          self.cursor.execute('''CREATE TABLE IF NOT EXISTS Models (id INTEGER PRIMARY KEY, name TEXT)''')
          self.conn.commit()
  
      def create(self, name):
          self.cursor.execute("INSERT INTO Models (name) VALUES (?)", (name,))
          self.conn.commit()
  
      def read(self):
          self.cursor.execute("SELECT * FROM Models")
          return self.cursor.fetchall()
  
      def update(self, new_name):
          self.cursor.execute("UPDATE Models SET name = ? WHERE name = ?", (new_name, self.read()[0][1]))
          self.conn.commit()
  
      def delete(self, name):
          self.cursor.execute("DELETE FROM Models WHERE name = ?", (name,))
          self.conn.commit()