zoukankan      html  css  js  c++  java
  • ORM操作 数据库外键 一对多

    创建外键:

    from django.db import models
    
    class usergroup(models.Model):
        uid = models.AutoField(primary_key=True)
        groupname = models.CharField(max_length=64,db_column="name")
        ctime = models.DateTimeField(auto_now_add=True)
        utime = models.DateTimeField(auto_now=True)
    
    class userinfo(models.Model):
        username = models.CharField(max_length=32)
        password = models.CharField(max_length=60)
        email = models.EmailField(max_length=60)
        user_type_choice = (
            (1,'超级用户'),
            (2,'管理员'),
            (3,'普通用户'),
        )
        user_type_id = models.IntegerField(choices=user_type_choice,default=3)
        usergroup = models.ForeignKey("usergroup",to_field='uid',default=1,on_delete='uid')
    

    以上我们就在userinfo中创建了一个外键关联usergroup通过uid字段,且默认用户的组是uid为1的组。

    查询:通过userinfo调用usergroup的信息,

      obj = models.userinfo.objects.first()

      obj.usergroup是一个usergroup类的对象 还可以继续调用 

      obj.usergroup.groupname  表示此用户的用户组是什么

    创建:创建一个有外键的行

    models.userinfo.objects.create(
    username = "root2",
    password = '123',
    email = 'abc@163.com',
    user_type_id = 1,
    usergroup_id = 2,
    #usergroup = models.usergroup.objects.filter(uid=2).first(), 虽然这种方式也能创建,但多了一步操作我们都用上一行这种方式创建。
    )

  • 相关阅读:
    CQL
    gossip协议
    Cassandra删除数据的坑
    Cassandra维护数据一致性的策略
    Cassandra查询出错
    string的 insert
    数字游戏(数学推理
    deque
    暗黑字符串(递推
    最大的奇约数和
  • 原文地址:https://www.cnblogs.com/alex-hrg/p/9781082.html
Copyright © 2011-2022 走看看