zoukankan      html  css  js  c++  java
  • django 笔记5 外键 ForeignKey

    class UsserGroup(models.Model):
        uid = models.AutoField(primary_key=True)
        caption = models.CharField(max_lenght=32, unique=True)
    
    class UserInfo(models.Model):
        username = models.CharField(max_length=32,blank=True,verbose_name = '用户名')
        password = models.CharField(max_length=60, help_text='pwd')
        #外键  to_field不写也行,以默认主键  会将user_group生成为user_group_id 数字
        user_group = models.ForeignKey('UserGroup', to_field = 'uid',default=1,on_delete=models.CASCADE)
    
        特殊地方 user_group 封装为一个对象 可以直接调用UserGroup的参数 即user_group.caption    而user_group_id为数字
    user_list = Userinfo.objects.all()
    for row in user_list:
        print(row.user_group_id)
        print(row.user_group.uid)
        print(row.user_group.caption)
    
        #一对多
        #user_list = models.UserInfo.object.all(
        username = 'root'
        password='123',
        user_group_id = '1'  #直接用表里面user_group中 让他设置为user_group_id
        )
    
        让用户选择部门
        group_list = models.UserGroup.object.all()
    
        在html里写
        <form>
        <select name = 'group_id'>
            {% for item in group_list %}
                <option value='{{item.uid}}'>{{ item.caption }}</option>
            {% endfor %}
        </select>
        <form>
    
    一对多:
        a.外键
        b.外键字段_id
        c. models.tb.object.create(name='root'),user_group_id = 1
        d.
            userlist = models.tb.object.all()
            for row in userlist:
                row.id
                row.user_group_id
                row.user_group.caption
  • 相关阅读:
    原型模式——浅复制与深复制
    初识Java反射
    建造者模式
    利用事件委托弥补观察者模式不足
    利用Java提供的Observer接口和Observable类实现观察者模式
    观察者模式
    再说单例模式的线程安全问题
    组合模式
    MyBatis3入门
    [Swift]LeetCode1216. 验证回文字符串 III | Valid Palindrome III
  • 原文地址:https://www.cnblogs.com/Liang-jc/p/9191797.html
Copyright © 2011-2022 走看看