On Friday, November 18, 2016 at 7:36:05 PM UTC+3, Michal Petrucha wrote: > > On Fri, Nov 18, 2016 at 12:07:40AM -0800, Yalın Aksoy wrote: > > > > > > Hello, > > > > > > I was using django 1.3 and python 2.4 for a big scale project. I > > decided to update it to django 1.9 and python 2.7. > > > > > > Since django_admin's sql parameter is depreciated in 1.9, the update > > database creation method changed a lot. > > > > I am using the command: > > > > > > "python /usr/local/django/<project>/manage.py makemigrations" > > > > > > > > > "python /usr/local/django/<project>/manage.py migrate --fake-initial > -- > > > noinput --run-syncdb " > > > > > > for table creation. But my tables are not created and manage is > > printing this error in both commands. > > > > Traceback (most recent call last): > > > File "/src/project/project-export/django/projectadmin/manage.py", > line 13, in <module> > > > execute_from_command_line(sys.argv) > > > File > "/opt/python/lib/python2.7/site-packages/django/core/management/__init__.py", > line 353, in execute_from_command_line > > > utility > > > utility.execute() > > > File > "/opt/python/lib/python2.7/site-packages/django/core/management/__init__.py", > line 345, in execute > > > > > > self.fetch_command(subcommand).run_from_argv(self.argv) > > > File > "/opt/python/lib/python2.7/site-packages/django/core/management/base.py", > line 348, in run_from_argv > > > > > > self.execute(*args, **cmd_options) > > > File > "/opt/python/lib/python2.7/site-packages/django/core/management/base.py", > line 398, in execute > > > > > > self.check() > > > File > "/opt/python/lib/python2.7/site-packages/django/core/management/base.py", > line 426, in check > > > include_deployment_checks > > > include_deployment_checks=include_deployment_checks, > > > File > "/opt/python/lib/python2.7/site-packages/django/core/checks/registry.py", > line 75, in run_checks > > > new_errors > > > new_errors = check(app_configs=app_configs) > > > File > "/opt/python/lib/python2.7/site-packages/django/core/checks/urls.py", line > 13, in check_url_config > > > > > > return check_resolver(resolver) > > > File > "/opt/python/lib/python2.7/site-packages/django/core/checks/urls.py", line > 23, in check_resolver > > > > > > for pattern in resolver.url_patterns: > > > File > "/opt/python/lib/python2.7/site-packages/django/utils/functional.py", line > 33, in __get__ > > > res > > > res = instance.__dict__[self.name] = self.func(instance) > > > File > "/opt/python/lib/python2.7/site-packages/django/core/urlresolvers.py", line > 417, in url_patterns > > > patterns > > > patterns = getattr(self.urlconf_module, "urlpatterns", > self.urlconf_module) > > > File > "/opt/python/lib/python2.7/site-packages/django/utils/functional.py", line > 33, in __get__ > > > res > > > res = instance.__dict__[self.name] = self.func(instance) > > > File > "/opt/python/lib/python2.7/site-packages/django/core/urlresolvers.py", line > 410, in urlconf_module > > > > > > return import_module(self.urlconf_name) > > > File "/opt/python/lib/python2.7/importlib/__init__.py", line 37, in > import_module > > > __import__ > > > __import__(name) > > > File "/usr/local/django/projectadmin/projectadmin/urls.py", line 4, > in <module> > > > import projectadmin.views > > > > > > File "/usr/local/django/projectadmin/projectadmin/views.py", line > 20, in <module> > > > from projectadmin.forms import UserCreationForm > > > File "/usr/local/django/projectadmin/projectadmin/forms.py", line > 252, in <module> > > > class UserCreationForm(forms.ModelForm): > > > File "/usr/local/django/projectadmin/projectadmin/forms.py", line > 256, in UserCreationForm > > > template_choice = form_utils.create_template_choices_field() > > > File "/usr/local/django/projectadmin/projectadmin/form_utils.py", > line 15, in create_template_choices_field > > > choices > > > choices = [(x.id, x.template_name) for x in all_templates] > > > File > "/opt/python/lib/python2.7/site-packages/django/db/models/query.py", line > 258, in __iter__ > > > > > > self._fetch_all() > > > File > "/opt/python/lib/python2.7/site-packages/django/db/models/query.py", line > 1074, in _fetch_all > > > > > > self._result_cache = list(self.iterator()) > > > File > "/opt/python/lib/python2.7/site-packages/django/db/models/query.py", line > 52, in __iter__ > > > results > > > results = compiler.execute_sql() > > > File > "/opt/python/lib/python2.7/site-packages/django/db/models/sql/compiler.py", > line 848, in execute_sql > > > cursor > > > cursor.execute(sql, params) > > > File > "/opt/python/lib/python2.7/site-packages/django/db/backends/utils.py", line > 64, in execute > > > > > > return self.cursor.execute(sql, params) > > > File "/opt/python/lib/python2.7/site-packages/django/db/utils.py", > line 95, in __exit__ > > > six > > > six.reraise(dj_exc_type, dj_exc_value, traceback) > > > File > "/opt/python/lib/python2.7/site-packages/django/db/backends/utils.py", line > 64, in execute > > > > > > return self.cursor.execute(sql, params) > > > File > "/opt/python/lib/python2.7/site-packages/django/db/backends/mysql/base.py", > line 112, in execute > > > > > > return self.cursor.execute(query, args) > > > File "/opt/python/lib/python2.7/site-packages/MySQLdb/cursors.py", > line 205, in execute > > > > > > self.errorhandler(self, exc, value) > > > File > "/opt/python/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, > in defaulterrorhandler > > > > > > raise errorclass, errorvalue > > > django > > > django.db.utils.ProgrammingError: (1146, "Table > 'project.projectadmin_usertemplate' doesn't exist") > > > > > > There is nothing related with table creation in the error or in any > > logs. It complains about missing the table but does not create it. > > > > I am suspecting that INSTALLED_APPS does not include my tables even > > I am sure it includes my projectadmin, but I have appended my > > application to the list in my settings.py. I got suspicious that I > > need to add my application separately to the installed_apps list. > > Nothing like that. As you noted above, you are getting the error about > a missing table before Django ever gets a chance to start applying the > migrations that would create that table. > > If you look at the traceback closely, you'll notice that in file > "/usr/local/django/projectadmin/projectadmin/form_utils.py", line 15, > in create_template_choices_field, you are iterating over a queryset > while that module is being imported. > > Think about it – before it even starts to apply migrations, Django > needs to import all your packages, so that it can determine what > migrations it needs to apply. However, in the process of importing > them, you are already executing database queries against those tables. > > It looks like you are generating a list of choices dynamically in a > form field, based on some model. For cases like this, you should most > likely be using a ModelChoiceField, which avoids the problem of > import-time queries (as well as the problem that the list of choices > will not be updated to reflect changes in the set of model objects > unless you restart your server) by querying the database only when > it's actually used. > > Good luck, > > Michal >
Hello Michal, Thanks for the pointing out the mistake, I really was trying to create a table by referencing another table which does not created yet. Checking those initialization s solved my problem. Thank you so much -Yalin -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/acf90ebe-d5c8-4808-9d73-e899b0c4abc0%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

