zoukankan      html  css  js  c++  java
  • django-ForeignKey,OneToOneField,ManyToManyField

    进入到django自带的related.py中,可以看到

    1.ForeignKey

    初始化的参数有:

    to, on_delete, related_name=None, 
    related_query_name=None,limit_choices_to=None,
    parent_link=False, to_field=None,
    db_constraint
    =True, **kwargs

    假设我们有:

    class Author(models.Model):
        author = models.CharField(max_length=250)
     
    class Books(models.Model): 
        book = models.ForeignKey(to='Author',on_delete=models.CASCADE,to_field='id')

    to:被关联表的名称

    on_delete:删除带有外键的信息时,定义了删除的操作:

    • CASCADE:删除作者信息一并删除作者名下的所有书的信息;
    • PROTECT:删除作者的信息时,采取保护机制,抛出错误:即不删除Books的内容;
    • SET_NULL:只有当null=True才将关联的内容置空;
    • SET_DEFAULT:设置为默认值;
    • SET( ):括号里可以是函数,设置为自己定义的东西;
    • DO_NOTHING:字面的意思,啥也不干,你删除你的干我毛线关系;

    to_field:被关联的字段,一般是主键,也可以是值唯一的字段

    2.OneToOne

    初始化参数有:

    to, on_delete, to_field=None, **kwargs

    3.ManyToMany

    初始化参数有:

    to, related_name=None, related_query_name=None,
    limit_choices_to=None, symmetrical=None, through=None,
    through_fields=None, db_constraint=True, db_table=None,
    swappable=True, **kwargs

  • 相关阅读:
    Python itsdangerous 生成token和验证token
    CentOS在VMware中 网络配置
    Django 框架 django的请求生命周期
    Django 框架 数据库操作2
    Django 框架 Form组件
    Django 框架 数据库操作
    hdu 5008 查找字典序第k小的子串
    hdu 3518 后缀数组
    hdu 3948 后缀数组
    hdu 4283 区间dp
  • 原文地址:https://www.cnblogs.com/xiximayou/p/11778048.html
Copyright © 2011-2022 走看看