diff --git a/django/bin/django-admin.py b/django/bin/django-admin.py index 31af89dae5..0d021ba172 100755 --- a/django/bin/django-admin.py +++ b/django/bin/django-admin.py @@ -53,11 +53,15 @@ def main(): parser = DjangoOptionParser(get_usage()) parser.add_option('--settings', help='Python path to settings module, e.g. "myproject.settings.main". If this isn\'t provided, the DJANGO_SETTINGS_MODULE environment variable will be used.') + parser.add_option('--pythonpath', + help='Lets you manually add a directory the Python path, e.g. "/home/djangoprojects/myproject".') options, args = parser.parse_args() # Take care of options. if options.settings: os.environ['DJANGO_SETTINGS_MODULE'] = options.settings + if options.pythonpath: + sys.path.insert(0, options.pythonpath) # Run the appropriate action. Unfortunately, optparse can't handle # positional arguments, so this has to parse/validate them. diff --git a/django/core/meta/__init__.py b/django/core/meta/__init__.py index 5b32b0a304..2670a36b52 100644 --- a/django/core/meta/__init__.py +++ b/django/core/meta/__init__.py @@ -1475,9 +1475,7 @@ def function_get_sql_clause(opts, **kwargs): table_prefix = opts.db_table + '.' else: table_prefix = '' - order_by.append('%s%s %s' % (table_prefix, orderfield2column(col_name, opts), order)) - order_by = ", ".join(order_by) # LIMIT and OFFSET clauses diff --git a/django/core/meta/fields.py b/django/core/meta/fields.py index bb7f4fcc32..556d8a0a7f 100644 --- a/django/core/meta/fields.py +++ b/django/core/meta/fields.py @@ -636,7 +636,11 @@ class ForeignKey(Field): Field.__init__(self, **kwargs) def get_manipulator_field_objs(self): - return [formfields.IntegerField] + rel_field = self.rel.get_related_field() + if self.rel.raw_id_admin and not isinstance(rel_field, AutoField): + return rel_field.get_manipulator_field_objs() + else: + return [formfields.IntegerField] def get_db_prep_save(self,value): try: diff --git a/docs/django-admin.txt b/docs/django-admin.txt index b4b07f4f12..ba9bb1403f 100644 --- a/docs/django-admin.txt +++ b/docs/django-admin.txt @@ -183,7 +183,7 @@ Available options ================= --settings -========== +---------- Example usage:: @@ -193,8 +193,21 @@ Explicitly specifies the settings module to use. The settings module should be in Python path syntax, e.g. "myproject.settings.main". If this isn't provided, ``django-admin.py`` will use the DJANGO_SETTINGS_MODULE environment variable. +--pythonpath +------------ + +Example usage:: + + django-admin.py init --pythonpath='/home/djangoprojects/myproject' + +Adds the given filesystem path to the Python `import search path`_. If this +isn't provided, ``django-admin.py`` will use the ``PYTHONPATH`` environment +variable. + +.. _import search path: http://diveintopython.org/getting_to_know_python/everything_is_an_object.html + --help -====== +------ Displays a help message that includes a terse list of all available actions and options.