由 BG6RSH » 周一 1月 16, 2023 10:16 pm
1.常用参数选项
null:如果为 True,当该字段为空时,Django 会将数据库中该字段设置为 NULL。默认为 False 。
blank:如果设置为 True,该字段允许为空。默认为 False。
null 选项仅仅是数据库层面的设置,然而 blank是涉及表单验证方面。如果一个字段设置为 blank=True ,在进行表单验证时,接收的数据该字段值允许为空,而设置为 blank=False 时,不允许为空。
choice:二元组
default:默认值
help_text:额外的“帮助”文本,随表单控件一同显示。即便你的字段未用于表单,它对于生成文档也是很有用的。
primary_key:如果设置为 True ,将该字段设置为该模型的主键。
在一个模型中,如果你没有对任何一个字段设置 primary_key=True 选项。 Django 会自动添加一个 IntegerField 字段,并设置为主键,主键字段是只可读的。
unique:是否唯一,默认False
verbose_name:字段备注名,为设置,django会将字段的下划线转换为空格做为备注
2.关联关系
ForeignKey:一对多
ManyToManyField:多对多
3.Meta选项
模型的元数据即“所有不是字段的东西”,比如排序选项( ordering ),数据库表名( db_table ),或是阅读友好的单复数名( verbose_name 和 verbose_name_plural )。这些都不是必须的,并且在模型当中添加 Meta类 也完全是可选的。
4.模型方法
1.__str__():返回友好的对象打印值
5.模型继承
1.抽象基类
抽象基类在你要将公共信息放入很多模型时会很有用。编写你的基类,并在 Meta 类中填入 abstract=True。该模型将不会创建任何数据表。当其用作其它模型类的基类时,它的字段会自动添加至子类。
from django.db import models
class CommonInfo(models.Model):
name = models.CharField(max_length=100)
age = models.PositiveIntegerField()
class Meta:
abstract = True
class Student(CommonInfo):
home_group = models.CharField(max_length=5)
[/size]
[size=150][b]1.常用参数选项[/b]
[color=#0000FF]null[/color]:如果为 True,当该字段为空时,Django 会将数据库中该字段设置为 NULL。默认为 False 。
[color=#0040FF]blank[/color]:如果设置为 True,该字段允许为空。默认为 False。
null 选项仅仅是数据库层面的设置,然而 blank是涉及表单验证方面。如果一个字段设置为 blank=True ,在进行表单验证时,接收的数据该字段值允许为空,而设置为 blank=False 时,不允许为空。
[color=#0040FF]choice[/color]:二元组
[color=#0040FF]default[/color]:默认值
[color=#0040FF]help_text[/color]:额外的“帮助”文本,随表单控件一同显示。即便你的字段未用于表单,它对于生成文档也是很有用的。
[color=#0040FF]primary_key[/color]:如果设置为 True ,将该字段设置为该模型的主键。
在一个模型中,如果你没有对任何一个字段设置 primary_key=True 选项。 Django 会自动添加一个 IntegerField 字段,并设置为主键,主键字段是只可读的。
[color=#0040FF]unique[/color]:是否唯一,默认False
[color=#0040FF]verbose_name[/color]:字段备注名,为设置,django会将字段的下划线转换为空格做为备注
[b]2.关联关系[/b]
[color=#0000FF]ForeignKey[/color]:一对多
[color=#0000FF]ManyToManyField[/color]:多对多
[b]3.Meta选项[/b]
模型的元数据即“所有不是字段的东西”,比如排序选项( ordering ),数据库表名( db_table ),或是阅读友好的单复数名( verbose_name 和 verbose_name_plural )。这些都不是必须的,并且在模型当中添加 Meta类 也完全是可选的。
[b]4.模型方法[/b]
1.__str__():返回友好的对象打印值
[b]5.模型继承[/b]
1.抽象基类
抽象基类在你要将公共信息放入很多模型时会很有用。编写你的基类,并在 Meta 类中填入 abstract=True。该模型将不会创建任何数据表。当其用作其它模型类的基类时,它的字段会自动添加至子类。
[Codebox=python file=Untitled.py]
from django.db import models
class CommonInfo(models.Model):
name = models.CharField(max_length=100)
age = models.PositiveIntegerField()
class Meta:
abstract = True
class Student(CommonInfo):
home_group = models.CharField(max_length=5)
[/Codebox]
[/size]