python框架Django数据库类型

1、BooleanField()--对应数据库tinyint(1),true/false

2、CharField()--对应数据库varchar(长度)

3、DateField()--对应数据库date,参数:下面三个参数只能选一个 (auto_now每次更新数据自动改为最新时间) (auto_now_add数据第一次创建,设置为当前时间) (default设置时间,字符串:‘2021-08-08’)

4、DateTimeField--对应数据库datetime(6),参数同DateField

5、DecimalField--对应数据库decimal(x,y),使用小数表示,参数(总位数,小数点后的数字)

6、EmailField()--对应数据库varchar,Django封装的专门存邮箱的字段名

7、IntegerField()--对应数据库int

8、ImageField()--对应数据库varchar,默认存到项目某个文件夹下

9、TextField()--对应数据库longtext

class Book(models.Model):
    title = models.CharField('书名', max_length=50, default='', unique=True)
    pub = models.CharField('出版社', max_length=100)
    price = models.DecimalField('图书定价', max_digits=7, decimal_places=2)
    market_price = models.DecimalField('图书零售价', max_digits=7, decimal_places=2, default=0.0)
    infor = models.CharField('信息', max_length=100, default='')

    # 重新修改数据库表名,修改表结构后要使用python3 manage.py makemigrations,再使用更新python3 manage.py migrate
    class Meta:
        db_table = 'book'

    # 格式化输出
    def __str__(self):
        return '%s %s %s %s' % (self.title, self.pub, self.price, self.market_price)


class Author(models.Model):
    name = models.CharField('姓名', max_length=11, null=False)
    age = models.ImageField('年龄', default=1)
    email = models.EmailField('邮箱', null=True)

    class Meta:
        db_table = 'author'

注意:重新修改数据库表名,修改表结构后要使用python3 manage.py makemigrations,再使用更新python3 manage.py migrate


版权声明:本文为LINGK98原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。