• Django Model


    • Django Model 多表查询

    示例:

    from django.db import models
    
    class Blog(models.Model):
        name = models.CharField(max_length=100)
        tagline = models.TextField()
    
    class Author(models.Model):
        name = models.CharField(max_length=50)
        email = models.EmailField()
    
    class Entry(models.Model):
        blog = models.ForeignKey(Blog)
        authors = models.ManyToManyField(Author)
        headline = models.CharField(max_length=255)
        body_text = models.TextField()
        pub_date = models.DateField()
        mod_date = models.DateField()
        n_comments = models.IntegerField()
        n_pingbacks = models.IntegerField()
        rating = models.IntegerField()
    •  class ForeignKey

    ForeignKey字段接受一个Model类作为参数, 类型与被参照的字段完全相同:

    blog = models.ForeignKey(Blog)
    • ForeignKey.to_field

    关联到的关联对象的字段名称。默认地,Django 使用关联对象的主键。

    blog = models.ForeignKey(Blog, to_field=Blog.name)
    • ForeignKey.db_constraint

    Django Model的ForeignKey字段的主要功能是维护一个一对多的关系, 以进行关联查询.

    只有在db_constraint=True时Django model才会在数据库上建立外键约束, 在该值为False时不建立约束.

    默认db_constraint=True.

    • MantToManyField
    • 基本操作

    models.Tb1.objects.create(c1='aa', c2='bb') #增加一条数据可以接受字典类型数据 **kwargs

    obj = models.Tb1(c1='aa', c2='bb')
    obj.save()

    dic = {'c1':'aa', 'c2':'bb'}
    models.Tb1.objects.create(**dic) #Form的产出结果是一个字典,可以根据这个Form的字典和**直接在数据库创建数据
    models.Tb1.objects.get(id=123)  #获取单条数据,不存在报错(不建议)
    
    models.Tb1.objects.all()  #获取全部   .first() #获取第一条数据

    models.Tb1.objects.filter(name='Jeffrey') #获取指定条件的数据 有可以用**的方式传递参数
    models.Tb1.objects.filter(name='Jeffrey').delete()
    models.Tb1.objects.filter(name='Jeffrey').update(age='20') #将指定条件数据更新,均支持 **kwargs

    obj = models.Tb1.objects.get(id=1)
    obj.c1 ='cc'
    obj.save() #修改单条数据
  • 相关阅读:
    android spinner学习
    cookie的学习笔记三(做俩个小练习);
    Cookie的细节具体保存的有效时间
    cookie技术核心! 就是四个类的应用 搞懂这个基本上就把这个搞定了!
    学习Servlet的重要应用 在什么地方用写路径
    数组空值empty
    ios学习杂记
    ios广告封装
    Runtime
    UIImage分类,设置边框
  • 原文地址:https://www.cnblogs.com/dear_diary/p/5885125.html
Copyright © 2020-2023  润新知