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类型的字段才能成为列。
----