django -- model中只有Field类型的数据才能成为数据库中的列

时间:2023-03-09 02:24:53
django -- model中只有Field类型的数据才能成为数据库中的列

一、model的定义:

from django.db import models

# Create your models here.

class Person(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100) genders=[
('M','男'),
('W','女'),
] gender=models.CharField(max_length=64,choices=genders) class Meta():
index_together = ["first_name", "last_name"]
db_table="person"

二、目标SQL语句:

BEGIN;
--
-- Create model Person
--
CREATE TABLE "person" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "first_name" varchar(100) NOT NULL, "last_name" varchar(100) NOT NULL, "gender" varchar(64) NOT NULL);
--
-- Alter index_together for person (1 constraint(s))
--
CREATE INDEX "person_first_name_last_name_7d35cbb8_idx" ON "person" ("first_name", "last_name");
COMMIT;

三、总结:

  1、django默认给表加上一个id字段做主键。

  2、django默认所有的列都不为null。

  3、model只有Field类型的字段才能成为列。

----