Changeset 550
- Timestamp:
- 08/25/05 23:06:18 (3 years ago)
- Files:
-
- django/trunk/django/core/management.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/core/management.py
r549 r550 456 456 for table_name in db.get_table_list(cursor): 457 457 yield 'class %s(meta.Model):' % table2model(table_name) 458 yield ' db_table = %r' % table_name459 yield ' fields = ('460 458 try: 461 459 relations = db.get_relations(cursor, table_name) … … 464 462 cursor.execute("SELECT * FROM %s LIMIT 1" % table_name) 465 463 for i, row in enumerate(cursor.description): 464 column_name = row[0] 466 465 if relations.has_key(i): 467 466 rel = relations[i] 468 467 rel_to = rel[1] == table_name and "'self'" or table2model(rel[1]) 469 field_desc = 'meta.ForeignKey(%s, name=%r' % (rel_to, row[0]) 468 if column_name.endswith('_id'): 469 field_desc = '%s = meta.ForeignKey(%s' % (column_name[:-3], rel_to) 470 else: 471 field_desc = '%s = meta.ForeignKey(%s, db_column=%r' % (column_name, rel_to, column_name) 470 472 else: 471 473 try: … … 473 475 except KeyError: 474 476 field_type = 'TextField' 475 yield " # The model-creator script used TextField by default, because"476 yield " # it couldn't recognize your field type."477 field_desc = ' meta.%s(%r' % (field_type, row[0])477 yield " # The model-creator script used TextField by default, because" 478 yield " # it couldn't recognize your field type." 479 field_desc = '%s = meta.%s(' % (column_name, field_type) 478 480 if field_type == 'CharField': 479 field_desc += ', maxlength=%s' % (row[3]) 480 yield ' %s),' % field_desc 481 yield ' )' 481 field_desc += 'maxlength=%s' % (row[3]) 482 yield ' %s)' % field_desc 483 yield ' class META:' 484 yield ' db_table = %r' % table_name 482 485 yield '' 483 486 inspectdb.help_doc = "Introspects the database tables in the given database and outputs a Django model module."
