Django设置:没有这样的表身份验证用户

Django设置:没有这样的表身份验证用户,django,django-models,django-deployment,Django,Django Models,Django Deployment,每次我们在新环境中设置Django项目并尝试启动服务器迁移或运行服务器时,错误消息Django.db.utils.OperationalError:没有这样的表:auth_user在下面显示完整的错误消息 我假设这是因为在下面的一些模型示例中使用了用户模型作为外键,并且在建立新系统时,没有创建任何数据库,Django尝试为我们的自定义模型创建表,但由于外键(用户表)而失败,因为它尚未创建 # Model for projects (example) class Projekt(models.Mo

每次我们在新环境中设置Django项目并尝试启动服务器迁移或运行服务器时,错误消息Django.db.utils.OperationalError:没有这样的表:auth_user在下面显示完整的错误消息

我假设这是因为在下面的一些模型示例中使用了用户模型作为外键,并且在建立新系统时,没有创建任何数据库,Django尝试为我们的自定义模型创建表,但由于外键(用户表)而失败,因为它尚未创建

# Model for projects (example)
class Projekt(models.Model):
    project_name = models.CharField(max_length=100, unique=True)
    project_manager = models.ForeignKey(User, related_name="Manager", on_delete=models.DO_NOTHING)
我的问题是:对于如何防止这种情况,是否有最佳做法?目前,我们只是从运行中的系统中为每一位新的开发人员复制数据库,这在目前是可行的,但对于软件的开源发行版来说是无效的

我已经尝试过不同的东西了,但是没有成功。我在我的每个Django项目中都遇到了这个问题


将迁移文件夹添加到git。这包含正确创建新数据库所需的信息。

将迁移文件夹添加到git。这包含正确创建新数据库所需的信息。

您应该将迁移添加到版本控制中,并将其与其他代码库一起部署

如果有很多迁移现在是多余的,您可以将它们添加到版本控制中。

您应该将迁移添加到版本控制中,并将它们与其他代码库一起部署



如果你有很多迁移现在都是多余的,你可以这样做。

我回答这个问题可能晚了,但同样的情况发生在我身上,我所做的是,从我的应用程序中删除了pycache文件和相关迁移文件,然后还删除了数据库文件sqlite文件

我回答这个问题可能晚了,但我所做的也是一样,从我的应用程序和相关迁移文件中删除了pycache文件,然后还删除了数据库文件(在我的示例中是sqlite文件)

我正在使用PyCharm,并且在调试配置中错误地设置了工作目录。需要指向其中包含manage.py的目录。可能不是creyD的问题,但可能会帮助其他人。

我在使用PyCharm,并且在调试配置中错误地设置了工作目录。需要指向其中包含manage.py的目录。可能不是creyD的问题,但可能会帮助其他人。

谢谢您的回答。难道不可能每次都建立一个新的数据库吗?我们的模型有很多变化,我们有很多迁移只是为了测试。。。另外还有大量的表格需要创建。。。只是在以后的几次迁移中删除它们…如果不敏感,您是否可以在新克隆的repo上运行manage.py migrate时提供完整的或尽可能多的输出?另外,将init.py添加到git中,这就是将文件夹添加到python包中的原因。谢谢,将init.py添加到我们的git中时,我们还没有使用它进行测试,并在问题编辑2中发布了整个错误代码。非常感谢您的持续帮助。在引发错误之前,您是否也可以包括正常输出?我想查看django的迁移消息。将输出包含在我问题的更新版本中。谢谢您的回答。难道不可能每次都建立一个新的数据库吗?我们的模型有很多变化,我们有很多迁移只是为了测试。。。另外还有大量的表格需要创建。。。只是在以后的几次迁移中删除它们…如果不敏感,您是否可以在新克隆的repo上运行manage.py migrate时提供完整的或尽可能多的输出?另外,将init.py添加到git中,这就是将文件夹添加到python包中的原因。谢谢,将init.py添加到我们的git中时,我们还没有使用它进行测试,并在问题编辑2中发布了整个错误代码。非常感谢您的持续帮助。在引发错误之前,您是否也可以包括正常输出?我想查看来自django的迁移消息。输出包含在我的问题的更新版本中。将迁移文件夹提交到github存储库没有问题。您是否在settings.py文件中将自定义用户模型定义为AUTH\u User\u model=MyUser?您应该添加与此问题相关的设置文件的重要部分,以便我们可以验证所有内容。项目模型中的用户模型从何处导入?谢谢您的回复。实际上,我们不使用自定义用户模型,只是将用户模型作为某些模型的外键,因此设置可能没有真正的帮助。我认为其他外键关系也是如此……。@SK.FazleeRabby是否有任何官方方法可以在不产生巨大开发开销的情况下重新创建迁移?就像我们在开发过程中改进或删除的对象和属性一样,我们不希望在几次迁移之后重新创建它们来删除它们……您还可以将提交平分,以查看此错误的位置
生产。您可以在@skalet上阅读更多内容。遗憾的是,此错误仅在新系统上发生,此时尚未启动任何数据库,但在所有正在运行的系统上都没有问题。很抱歉,这不是解决方案。将“迁移”文件夹提交到github存储库没有错。您是否在settings.py文件中将自定义用户模型定义为AUTH\u User\u model=MyUser?您应该添加与此问题相关的设置文件的重要部分,以便我们可以验证所有内容。项目模型中的用户模型从何处导入?谢谢您的回复。实际上,我们不使用自定义用户模型,只是将用户模型作为某些模型的外键,因此设置可能没有真正的帮助。我认为其他外键关系也是如此……。@SK.FazleeRabby是否有任何官方方法可以在不产生巨大开发开销的情况下重新创建迁移?就像我们在开发过程中改进或删除的对象和属性一样,我们不希望在几次迁移之后重新创建它们来删除它们……您还可以将提交平分,以查看此错误是在哪里引入的。您可以在@skalet上阅读更多内容。遗憾的是,此错误仅在新系统上发生,此时尚未启动任何数据库,但在所有正在运行的系统上都没有问题。很抱歉,这不是解决方案。谢谢您的回复!我确实挤压了迁移,不仅挤压了原始迁移,而且挤压了原始迁移,它仍然显示相同的错误…感谢您的回复!我确实挤压了迁移,不仅挤压了原始迁移,而且挤压了原始迁移,它仍然显示相同的错误。。。
USERNAME$ python3 manage.py migrate
  Traceback (most recent call last):
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/utils.py", line 85, in _execute
      return self.cursor.execute(sql, params)
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/sqlite3/base.py", line 296, in execute
      return Database.Cursor.execute(self, query, params)
  sqlite3.OperationalError: no such table: auth_user

  The above exception was the direct cause of the following exception:

  Traceback (most recent call last):
    File "manage.py", line 15, in <module>
      execute_from_command_line(sys.argv)
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
      utility.execute()
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/management/__init__.py", line 375, in execute
      self.fetch_command(subcommand).run_from_argv(self.argv)
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/management/base.py", line 316, in run_from_argv
      self.execute(*args, **cmd_options)
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/management/base.py", line 350, in execute
      self.check()
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/management/base.py", line 379, in check
      include_deployment_checks=include_deployment_checks,
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/management/commands/migrate.py", line 60, in _run_checks
      issues.extend(super()._run_checks(**kwargs))
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/management/base.py", line 366, in _run_checks
      return checks.run_checks(**kwargs)
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/checks/registry.py", line 71, in run_checks
      new_errors = check(app_configs=app_configs)
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/checks/urls.py", line 40, in check_url_namespaces_unique
      all_namespaces = _load_all_namespaces(resolver)
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/checks/urls.py", line 57, in _load_all_namespaces
      url_patterns = getattr(resolver, 'url_patterns', [])
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/utils/functional.py", line 37, in __get__
      res = instance.__dict__[self.name] = self.func(instance)
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/urls/resolvers.py", line 533, in url_patterns
      patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/utils/functional.py", line 37, in __get__
      res = instance.__dict__[self.name] = self.func(instance)
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/urls/resolvers.py", line 526, in urlconf_module
      return import_module(self.urlconf_name)
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/importlib/__init__.py", line 127, in import_module
      return _bootstrap._gcd_import(name[level:], package, level)
    File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
    File "<frozen importlib._bootstrap>", line 983, in _find_and_load
    File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
    File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
    File "<frozen importlib._bootstrap_external>", line 728, in exec_module
    File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
    File "/USERNAME/Documents/PROJECTS/PROJECTFOLDER/PROJECT_NAME/urls.py", line 8, in <module>
      path('i/', include('APP1.urls')), # Private space/ Development space
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/urls/conf.py", line 34, in include
      urlconf_module = import_module(urlconf_module)
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/importlib/__init__.py", line 127, in import_module
      return _bootstrap._gcd_import(name[level:], package, level)
    File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
    File "<frozen importlib._bootstrap>", line 983, in _find_and_load
    File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
    File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
    File "<frozen importlib._bootstrap_external>", line 728, in exec_module
    File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
    File "/USERNAME/Documents/PROJECTS/PROJECTFOLDER/APP1/urls.py", line 4, in <module>
      from . import views
    File "/USERNAME/Documents/PROJECTS/PROJECTFOLDER/APP1/views.py", line 11, in <module>
      from .forms import AddProject, AddTicket
    File "/USERNAME/Documents/PROJECTS/PROJECTFOLDER/APP1/forms.py", line 5, in <module>
      class AddProject(forms.Form):
    File "/USERNAME/Documents/PROJECTS/PROJECTFOLDER/APP1/forms.py", line 7, in AddProject
      project_manager = forms.ChoiceField(choices=[(user.id, user) for user in User.objects.all()])
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/models/query.py", line 268, in __iter__
      self._fetch_all()
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/models/query.py", line 1186, in _fetch_all
      self._result_cache = list(self._iterable_class(self))
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/models/query.py", line 54, in __iter__
      results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1065, in execute_sql
      cursor.execute(sql, params)
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/utils.py", line 100, in execute
      return super().execute(sql, params)
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/utils.py", line 68, in execute
      return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers
      return executor(sql, params, many, context)
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/utils.py", line 85, in _execute
      return self.cursor.execute(sql, params)
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/utils.py", line 89, in __exit__
      raise dj_exc_value.with_traceback(traceback) from exc_value
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/utils.py", line 85, in _execute
      return self.cursor.execute(sql, params)
    File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/sqlite3/base.py", line 296, in execute
      return Database.Cursor.execute(self, query, params)
  django.db.utils.OperationalError: no such table: auth_user