1146" app_name.django_site缺失"

时间:2017-06-19 11:06:16

标签: mysql django django-sites django-mysql

我正在使用Django 1.11创建应用程序' cnfs',我正在使用MYSQL数据库。我一直面临这个问题,当我输入以下代码时,我收到这样的错误:

$python manage.py migrate
  

系统检查发现了一些问题:警告:?:( mysql.W002)没有为数据库连接设置MySQL严格模式'默认'提示:MySQL的严格模式通过将警告升级为错误来修复MySQL中的许多数据完整性问题,例如插入时的数据截断。强烈建议您激活它。请参阅:https://docs.djangoproject.com/en/1.11/ref/databases/#mysql-sql-mode要执行的操作:应用所有迁移:admin,auth,cnfs,​​contenttypes,sites运行迁移:不应用任何迁移。回溯(最近一次调用最后一次):文件" manage.py",第22行,在execute_from_command_line(sys.argv)文件" /home/ubuntu/.local/lib/python2.7/site -packages / django / core / management / init .py",第363行,在execute_from_command_line utility.execute()文件" /home/ubuntu/.local/lib/python2中。 7 / site-packages / django / core / management / init .py",第355行,执行self.fetch_command(子命令).run_from_argv(self.argv)文件" / home / ubuntu / .local / lib / python2.7 / site-packages / django / core / management / base.py",第283行,在run_from_ar中gv self.execute(* args,** cmd_options)File" /home/ubuntu/.local/lib/python2.7/site-packages/django/core/management/base.py" ;,第330行,在执行输出= self.handle(* args,**选项)文件" /home/ubuntu/.local/lib/python2.7/site-packages/django/core/management/commands/migrate.py& #34;,第227行,处理self.verbosity,self.interactive,connection.alias,apps = post_migrate_apps,plan = plan,file" /home/ubuntu/.local/lib/python2.7/site- packages / django / core / management / sql.py",第53行,在emit_post_migrate_signal ** kwargs文件" /home/ubuntu/.local/lib/python2.7/site-packages/django/dispatch/dispatcher.py" ;,第193行,发送给self._live_receivers(发送者)文件& #34; /home/ubuntu/.local/lib/python2.7/site-packages/django/contrib/sites/management.py" ;,第20行,如果不是Site.objects.using(使用),则在create_default_site中。 exists():File" /home/ubuntu/.local/lib/python2.7/site-packages/django/db/models/query.py" ;,第670行,in exists返回self.query。 has_results(using = self.db)File" /home/ubuntu/.local/lib/python2.7/site-packages/django/db/models/sql/query.py" ;, line 517,in具有_results返回compiler.has_results()文件" /home/ubuntu/.local/lib/python2.7/site-packages/django/db/models/sql/compiler.py",第845行,在has_results中return bool(self.execute_sql(SINGLE))File" /home/ubuntu/.local/lib/python2.7/site-packages/django/db/models/sql/compiler.py" ;,886行,在execute_sql中提出original_exception django.db.utils.ProgrammingError:(1146," Table' cnfs.django_site'不存在")

我确实花了好几天时间,当我使用默认的django数据库引擎sqlite3时,我没有遇到这个问题。 我试过这样做:     $ python manage.py迁移网站

我的SITE_ID设置为1。 我尝试删除' django.contrib.sites'来自INSTALLED_APPS设置的东西,但是会抛出此错误:

  

内部服务器错误:/ Traceback(最近一次调用最后一次):文件" /home/ubuntu/.local/lib/python2.7/site-packages/django/core/handlers/exception.py" ;,第41行,内部响应= get_response(请求)文件" /home/ubuntu/.local/lib/python2.7/site-packages/django/utils/deprecation.py",第138行,在调用响应= self.process_request(请求)文件" /home/ubuntu/.local/lib/python2.7/site-packages/subdomains/middleware.py" ;,行62,在process_request super(SubdomainURLRoutingM iddleware,self).process_request(request)File" /home/ubuntu/.local/lib/python2.7/site-packages/subdomains/middleware.py" ;, line 38,in process_request(self.get_domain_for_request (request),request.get_host()))文件" /home/ubuntu/.local/lib/python2.7/site-packages/subdomains/middleware.py" ;,第31行,在get_domain_for_request中返回get_domain ()文件" /home/ubuntu/.local/lib/python2.7/site-packages/subdomains/utils.py",第12行,来自django.contrib.sites.models的current_site_domain导入站点文件" /home/ubuntu/.local/lib/python2.7/site-packages/django/contrib/s ites / models.py",第84行,在类Site(models.Model)中:File" /home/ubuntu/.local/lib/python2.7/site-packages/django/db/models/ base.py",第118行,在" INSTALLED_APPS。" %(module,name)RuntimeError:Model类django.contrib.sites.models.Site没有在INSTALLED_APPS中的应用程序中声明显式的app_label并且不是。

我们非常感谢任何建议。

感谢。

1 个答案:

答案 0 :(得分:1)

从已安装的应用中取消注释django.contrib.sites

然后

python manage.py migrate sites
python manage.py migrate

如果数据库中有少量表,请删除表,然后运行此