Simplified the indent level in management.py _get_sql_model_create() by using a 'continue' statement rather than nesting everything in an 'if'
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5726 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
ac2b9f2a3f
commit
0827f4ac7e
|
@ -161,31 +161,34 @@ def _get_sql_model_create(model, known_models=set()):
|
||||||
for f in opts.fields:
|
for f in opts.fields:
|
||||||
col_type = f.db_type()
|
col_type = f.db_type()
|
||||||
tablespace = f.db_tablespace or opts.db_tablespace
|
tablespace = f.db_tablespace or opts.db_tablespace
|
||||||
if col_type is not None:
|
if col_type is None:
|
||||||
# Make the definition (e.g. 'foo VARCHAR(30)') for this field.
|
# Skip ManyToManyFields, because they're not represented as
|
||||||
field_output = [style.SQL_FIELD(backend.quote_name(f.column)),
|
# database columns in this table.
|
||||||
style.SQL_COLTYPE(col_type)]
|
continue
|
||||||
field_output.append(style.SQL_KEYWORD('%sNULL' % (not f.null and 'NOT ' or '')))
|
# Make the definition (e.g. 'foo VARCHAR(30)') for this field.
|
||||||
if f.unique and (not f.primary_key or backend.allows_unique_and_pk):
|
field_output = [style.SQL_FIELD(backend.quote_name(f.column)),
|
||||||
field_output.append(style.SQL_KEYWORD('UNIQUE'))
|
style.SQL_COLTYPE(col_type)]
|
||||||
if f.primary_key:
|
field_output.append(style.SQL_KEYWORD('%sNULL' % (not f.null and 'NOT ' or '')))
|
||||||
field_output.append(style.SQL_KEYWORD('PRIMARY KEY'))
|
if f.unique and (not f.primary_key or backend.allows_unique_and_pk):
|
||||||
if tablespace and backend.supports_tablespaces and (f.unique or f.primary_key) and backend.autoindexes_primary_keys:
|
field_output.append(style.SQL_KEYWORD('UNIQUE'))
|
||||||
# We must specify the index tablespace inline, because we
|
if f.primary_key:
|
||||||
# won't be generating a CREATE INDEX statement for this field.
|
field_output.append(style.SQL_KEYWORD('PRIMARY KEY'))
|
||||||
field_output.append(backend.get_tablespace_sql(tablespace, inline=True))
|
if tablespace and backend.supports_tablespaces and (f.unique or f.primary_key) and backend.autoindexes_primary_keys:
|
||||||
if f.rel:
|
# We must specify the index tablespace inline, because we
|
||||||
if f.rel.to in known_models:
|
# won't be generating a CREATE INDEX statement for this field.
|
||||||
field_output.append(style.SQL_KEYWORD('REFERENCES') + ' ' + \
|
field_output.append(backend.get_tablespace_sql(tablespace, inline=True))
|
||||||
style.SQL_TABLE(backend.quote_name(f.rel.to._meta.db_table)) + ' (' + \
|
if f.rel:
|
||||||
style.SQL_FIELD(backend.quote_name(f.rel.to._meta.get_field(f.rel.field_name).column)) + ')' +
|
if f.rel.to in known_models:
|
||||||
backend.get_deferrable_sql()
|
field_output.append(style.SQL_KEYWORD('REFERENCES') + ' ' + \
|
||||||
)
|
style.SQL_TABLE(backend.quote_name(f.rel.to._meta.db_table)) + ' (' + \
|
||||||
else:
|
style.SQL_FIELD(backend.quote_name(f.rel.to._meta.get_field(f.rel.field_name).column)) + ')' +
|
||||||
# We haven't yet created the table to which this field
|
backend.get_deferrable_sql()
|
||||||
# is related, so save it for later.
|
)
|
||||||
pr = pending_references.setdefault(f.rel.to, []).append((model, f))
|
else:
|
||||||
table_output.append(' '.join(field_output))
|
# We haven't yet created the table to which this field
|
||||||
|
# is related, so save it for later.
|
||||||
|
pr = pending_references.setdefault(f.rel.to, []).append((model, f))
|
||||||
|
table_output.append(' '.join(field_output))
|
||||||
if opts.order_with_respect_to:
|
if opts.order_with_respect_to:
|
||||||
table_output.append(style.SQL_FIELD(backend.quote_name('_order')) + ' ' + \
|
table_output.append(style.SQL_FIELD(backend.quote_name('_order')) + ' ' + \
|
||||||
style.SQL_COLTYPE(models.IntegerField().db_type()) + ' ' + \
|
style.SQL_COLTYPE(models.IntegerField().db_type()) + ' ' + \
|
||||||
|
|
Loading…
Reference in New Issue