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(), 虽然这种方式也能创建,但多了一步操作我们都用上一行这种方式创建。
    )

  • 相关阅读:
    JQuery中$.ajax()方法参数详解
    overload和override的区别
    linux 安装jdk和tomcat
    linux链接外网手动设置
    RISC与CISCCPU构架
    32位与64位内存区别
    system 系统调用、gcc编译过程
    c helloworld
    C语言中 有符号数、无符号数、整数溢出 (转)
    samba安装
  • 原文地址:https://www.cnblogs.com/alex-hrg/p/9781082.html
Copyright © 2011-2022 走看看