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

  • 相关阅读:
    a标签跳转新页面
    js或jquery实现页面打印(局部打印)
    js实现点击定位最顶端
    js实现pdf对页面的打印
    js动态创建input
    sha1加密算法
    JsonHelper修改4.0
    List<T>做数据源绑定的问题
    VS2013智能提示
    Newtonsoft.Json(Json.Net)学习笔记
  • 原文地址:https://www.cnblogs.com/alex-hrg/p/9781082.html
Copyright © 2020-2023  润新知