【问题标题】:Django Models with a existing Database具有现有数据库的 Django 模型
【发布时间】:2015-12-16 16:21:15
【问题描述】:

我是 Django 新手,我有一个项目,我想在 postgres 中使用现有数据库,其中包含 400 多个表。但是我已经阅读了 django 文档,并且您总是必须定义这样的模型:

from django.db import models

class Person(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)

但我不想对 400s 表执行此步骤。有没有办法只放置表之间的关系而不做每个模型的定义和迁移?像 laravel 这样的东西:

class User extends Model
{
    /**
     * The roles that belong to the user.
     */
    public function roles()
    {
        return $this->belongsToMany('App\Role');
    }
}

你能帮帮我吗?

谢谢

【问题讨论】:

标签: django postgresql django-models


【解决方案1】:

使用 django 检查数据库:

python manage.py inspectdb > models.py

Django doc.

【讨论】:

  • 但它是 100% 有效的吗??
  • 没有什么是 100% 有效的,但它来自 django 官方文档,所以你应该在怀疑之前尝试一下。您可能需要调整模型,但值得尝试与手动输入所有模型进行比较。
  • 如果我只放置关系会起作用吗? Django 不能自己识别所有字段?
  • 我不明白put only the relationships 是什么意思。请查看文档:docs.djangoproject.com/en/1.9/ref/django-admin/…。它详细解释了您希望更改的内容。你为什么不尝试运行它?如果您遇到问题,请将其发布在 stackoverflow 上并让人们帮助您。
猜你喜欢
  • 2019-03-15
  • 1970-01-01
  • 2012-02-23
  • 2021-12-01
  • 1970-01-01
  • 2015-08-31
  • 2015-10-11
  • 2011-02-02
  • 2011-01-15
相关资源
最近更新 更多