• foreignkey相关的参数


    ForeignKey(ForeignObject)

    blog = models.ForeignKey(
    	to="Blog",
    	to_field="nid",
    	on_delete=models.DO_NOTHING)  
    	# 外键关联博客,一个博客站点可以有多个分类

    字段

    to,  # 要进行关联的表名
    to_field = None,  # 要关联的表中的字段名称
    
    on_delete = None,  # 当删除关联表中的数据时,当前表与其关联的行的行为
      - models.CASCADE,删除关联数据,与之关联也删除
      - models.DO_NOTHING,删除关联数据,引发错误IntegrityError
      - models.PROTECT,删除关联数据,引发错误ProtectedError
      - models.SET_NULL,删除关联数据,与之关联的值设置为null(前提FK字段需要设置为可空)
      - models.SET_DEFAULT,删除关联数据,与之关联的值设置为默认值(前提FK字段需要设置默认值)
      - models.SET,删除关联数据,
        a.与之关联的值设置为指定值,设置:models.SET()
        b.与之关联的值设置为可执行对象的返回值,设置:models.SET(可执行对象)
    
    例:
    def func():
        return 10
    
    class MyModel(models.Model):
        user = models.ForeignKey(
            to="User",
            to_field="id"
            on_delete = models.SET(func),)
    
    # 反向操作时,使用的字段名,用于代替【表名_set】
    related_name = None,  
    如: obj.表名_set.all() == obj.related_name.all()
    
    # 反向操作时,使用的连接前缀,用于替换【表名】 如: 
    related_query_name = None,  
    models.UserGroup.objects.filter(表名__字段名=1).values('表名__字段名')
    
    # 在Admin或ModelForm中显示关联数据时,提供的条件:    
    limit_choices_to = None,  
    # 如:
    - limit_choices_to = {'nid__gt': 5}
    - limit_choices_to = lambda: {'nid__gt': 5}
    
    from django.db.models import Q
    - limit_choices_to = Q(nid__gt=10)
    - limit_choices_to = Q(nid=8) | Q(nid__gt=10)
    - limit_choices_to = lambda: Q(Q(nid=8) | Q(nid__gt=10)) & Q(caption='root')
    
    db_constraint = True  # 是否在数据库中创建外键约束
    parent_link = False  # 在Admin中是否显示关联数据
    每天逼着自己写点东西,终有一天会为自己的变化感动的。这是一个潜移默化的过程,每天坚持编编故事,自己不知不觉就会拥有故事人物的特质的。 Explicit is better than implicit.(清楚优于含糊)
  • 相关阅读:
    jython resources
    Installing a Library of Jython ScriptsPart of the WebSphere Application Server v7.x Administration Series Series
    jython好资料
    ulipad install on 64bit win7 has issue
    an oracle article in high level to descibe how to archtichre operator JAVA relevet project
    table的宽度,单元格内换行问题
    Linux常用命令大全
    dedecms系统后台登陆提示用户名密码不存在
    登录织梦后台提示用户名不存在的解决方法介绍
    Shell常用命令整理
  • 原文地址:https://www.cnblogs.com/kylin5201314/p/15094259.html
Copyright © 2020-2023  润新知