【问题标题】:Creating models with sql data使用 sql 数据创建模型
【发布时间】:2013-12-26 17:04:23
【问题描述】:

这段代码

from django.db import models

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

产生这些 sql 语句

CREATE TABLE myapp_person (
    "id" serial NOT NULL PRIMARY KEY,
    "first_name" varchar(30) NOT NULL,
    "last_name" varchar(30) NOT NULL
);

我想知道是否可以反过来做。这是一个带有

的 .sql 文件
CREATE TABLE myapp_person (
    "id" serial NOT NULL PRIMARY KEY,
    "first_name" varchar(30) NOT NULL,
    "last_name" varchar(30) NOT NULL
);

应该用

生成models.py文件
class Person(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)

TIA

【问题讨论】:

  • 如果您使用这些表创建数据库,则可以检查数据库 - docs.djangoproject.com/en/dev/ref/django-admin/#inspectdb
  • 我的问题是如何使用 .sql 文件创建 models.py 文件。因为我有一个带有模式的 .sql 文件(来自客户端),我必须制作一个 models.py。我不想编写所有模型,而是想知道是否有其他方法可以生成模型。
  • 感谢 JamesO,我现在明白你的意思了。

标签: sql django models


【解决方案1】:

正如 JamesO 在 cmets 中所说,您可以使用 inspectdb

首先,创建一个数据库,然后针对该数据库运行该 SQL 文件以创建表。

然后,运行 python manage.py inspectdb 从数据库表中创建模型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多