编程语言
首页 > 编程语言> > Python--day63(ORM补充(1对1、Django类型)分页、CSRF攻击)

Python--day63(ORM补充(1对1、Django类型)分页、CSRF攻击)

作者:互联网

1. 一对一表

1.1 创建

class UserInfo(models.Model):
    name = models.CharField(max_length=32, null=True)

class Salary(models.Model):
    money = models.CharField(max_length=32, null=True)
    su = models.OneToOneField('UserInfo', null=True)

1.2 查询

# 1、普通查询
res = models.UserInfo.objects.all()
print(res)
for row in res:
    print(row.id, row.name)

# 2、正向查询
res = models.Salary.objects.all()
for row in res:
    print(row.su.name, row.money)

# 3、反向查询
res = models.UserInfo.objects.all()
for row in res:
    print(row.name, row.salary.money)

 

2. Django类型

3、参数

- 参数:
    max_length=32
    null=True  : 可以设置为null
    db_index=True : 设置索引
    default : 设置默认值
    unique : 设置唯一索引
        
    db_column: 设置一个列名
    
    unique_together: 联合唯一索引
    index_together :普通联合索引
        class Meta:
            unique_together = (
                ('money', 'us_id'),
                ....
            )
            index_together = (
                ('money', '')
                ....
            )

 

4、Django-admin

djagno-admin:
    django自带的管理后台系统
        命令生成:
            python3 manage.py  createsuperuser
    想要管理自己生成的表:
        admin.py:
            from app01 import models
            admin.site.register(models.UserInfo)
        
    
        django-admin中的列类型:
            EmailField(CharField):
                - 字符串类型,Django Admin以及ModelForm中提供验证机制
            IPAddressField(Field)
                - 字符串类型,Django Admin以及ModelForm中提供验证 IPV4 机制
            GenericIPAddressField(Field)
                - 字符串类型,Django Admin以及ModelForm中提供验证 Ipv4和Ipv6
                - 参数:
                    protocol,用于指定Ipv4或Ipv6, 'both',"ipv4","ipv6"
                    unpack_ipv4, 如果指定为True,则输入::ffff:192.0.2.1时候,可解析为192.0.2.1,开启刺功能,需要protocol="both"
            URLField(CharField)
                - 字符串类型,Django Admin以及ModelForm中提供验证 URL
            SlugField(CharField)
                - 字符串类型,Django Admin以及ModelForm中提供验证支持 字母、数字、下划线、连接符(减号)
            CommaSeparatedIntegerField(CharField)
                - 字符串类型,格式必须为逗号分割的数字
            UUIDField(Field)
                - 字符串类型,Django Admin以及ModelForm中提供对UUID格式的验证
            FileField(Field)
    
        djagno-admin中的参数 :
            verbose_name        Admin中显示的字段名称        
    
            blank               Admin中是否允许用户输入为空
            editable            Admin中是否可以编辑
            help_text           Admin中该字段的提示信息

            choices             Admin中显示选择框的内容,用不变动的数据放在内存中从而避免跨表操作
            choices = (
                (1, '男'),
                (2, '女')
            )
            gender = models.IntegerField(choices=chocies)
            
            id name  gender (男女)

 

5、分页

 

6、CSRF攻击

 

标签:name,Python,res,Django,models,day63,Admin,row
来源: https://www.cnblogs.com/wangyong123/p/11201929.html