【问题标题】:Is there a way not to use the default tables in Django?有没有办法不使用 Django 中的默认表?
【发布时间】:2018-10-24 07:20:39
【问题描述】:

我将制作一个非常简单的 Restful API。所以没有理由在 Django 中使用默认表。

  • auth_group
  • auth_group_permissions
  • auth_permission
  • django_admin_log
  • 等等..

是否可以只定义和使用我想要的模型(表)而不使用Django提供的默认表?

【问题讨论】:

  • 是的,从INSTALLED_APPS 中删除django.contrib.auth 等等。毕竟所有这些模型都没有“硬编码”到essential Django 安装中,更多的是默认安装.

标签: django


【解决方案1】:

settings.pyINSTALLED_APPLICATION 列表中删除authadmin 应用程序。

INSTALLED_APPS = [
    'django.contrib.admin', # remove this line
    'django.contrib.auth', # as well as this
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
] 

并在数据库上进行新的迁移。

  1. python manage.py makemigrations
  2. python manage.py migrate

【讨论】:

  • 在 djangorestframework==3.12.4 Django==3.2.2 中对我不起作用,给出错误 RuntimeError: Model class django.contrib.auth.models.Permission does not declare an explicit app_label and不在 INSTALLED_APPS 的应用程序中,当我在上面评论时。还添加了 - 'UNAUTHENTICATED_USER':无,
猜你喜欢
  • 2013-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-14
  • 1970-01-01
相关资源
最近更新 更多