code: def amalgamate_sql(app, model, extra_fields=None, table_name=None,
                     view_name=None):
      
  
      if extra_fields == None:
          extra_fields = []
  
      extra_fields = ", ".join(extra_fields)
      if extra_fields:
          extra_fields = ", " + extra_fields
  
      if not table_name:
          table_name = "%s_%s" % (app, model)
  
      if not view_name:
          view_name = "%s_view" % table_name
  
      return """
              CREATE VIEW %(view_name)s AS
              SELECT
                  U0.id::text || '_' || %(table_name)s.id AS fake_id,
                  U0.id AS content_type_id,
                  %(table_name)s.id AS object_id
                  %(extra_fields)s
              FROM
                  %(table_name)s,
                  (SELECT
                      id
                   FROM
                      django_content_type
                   WHERE
                      app_label = '%(app)s' AND
                      model = '%(model)s'
                  ) U0;
      """ % dict(view_name=view_name,
                 app=app,
                 model=model,
                 table_name=table_name,
                 extra_fields=extra_fields)
docs: This function returns a string, containing SQL to create
      a view exposing given model's content_type_id and object_id,
      with some extra_fields optionally.
  
      This function does *not* escape or quote its arguments.
  
      >>> print(utils.amalgamate_sql('tests', 'phone', ['foo', 'x as y']))
  
              CREATE VIEW tests_phone_view AS
              SELECT
                  U0.id::text || '_' || test_phone.id::text AS fake_id,
                  U0.id AS content_type_id,
                  tests_phone.id AS object_id
                  , foo, x as y
              FROM
                  tests_phone,
                  (SELECT
                      id
                   FROM
                      django_content_type
                   WHERE
                      app_label = 'tests' AND
                      model = 'phone'
                  ) U0;