sql - 使用 sql 数据创建模型

标签 sql django models

这段代码

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

最佳答案

正如 JamesO 在评论中所说,您可以为此使用 inspectdb

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

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

关于sql - 使用 sql 数据创建模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20473148/

相关文章:

django - 在 Django 中,如何确定请求是否已被取消?

sql - 如何在 SQL Server 中按字符将字符串拆分为单独的列

mysql - 查找每个 people_id 对应的具有最大计数的 role_id

java - JSP 第 31 行错误

python - Django 测试中的类模拟

python - Django:无法解析相关模型 'users.UserProfile'

sql - MYSQL 附加日期时如何按日期 desc 排序?

python - Django 自定义默认组模型

Python Django 返回唯一的保存日期并过滤模型对象

mysql - rails : Restricting to certain records when joining