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

  • 相关阅读:
    Guid ToString 格式
    SQL Server 自增字段归零
    一些被触动的话
    【简易教程】在网站上养一只萌咔咔的小仓鼠
    SQL分页语句
    WPF使用System.Windows.SystemParameters类获得屏幕分辨率
    WPF编程学习——窗口
    C# .net WPF无边框移动窗体
    WPF 4 Ribbon 开发 之 快捷工具栏(Quick Access Toolbar)
    转 遗传算法简介
  • 原文地址:https://www.cnblogs.com/alex-hrg/p/9781082.html
Copyright © 2011-2022 走看看