• django orm 操作


    django的orm使用方便,但对于一些复杂的操作,需要遵循特定的规范,特例特别记录一下:

    模型:

    from django.db import models
    
    class Blog(models.Model):
        name = models.CharField(max_length=100)
        tagline = models.TextField()
    
        def __str__(self):              # __unicode__ on Python 2
            return self.name
    
    class Author(models.Model):
        name = models.CharField(max_length=50)
        email = models.EmailField()
    
        def __str__(self):              # __unicode__ on Python 2
            return self.name
    
    class Entry(models.Model):
        blog = models.ForeignKey(Blog)
        headline = models.CharField(max_length=255)
        body_text = models.TextField()
        pub_date = models.DateField()
        mod_date = models.DateField()
        authors = models.ManyToManyField(Author)
        n_comments = models.IntegerField()
        n_pingbacks = models.IntegerField()
        rating = models.IntegerField()
    
        def __str__(self):              # __unicode__ on Python 2
            return self.headline

    1、Entry关联Blog

        Entry.objects.all().select_related()

       对应sql:select entry.blog, ...  from entry inner join blog on entry.id=blog.id

    2、Entry按关联模型中的字段进行排序

         Entry.objects.filter('blog__headline').all().select_related()
    3、执行原始的sql

         Entry.objects.raw(sql) 
         参考:https://docs.djangoproject.com/en/1.10/topics/db/sql/
    4、

  • 相关阅读:
    CSS 选择器
    HTML lable和fieldset
    html image和表格
    HTML a标签
    html 提交后台的标签
    HTML INPUT系列使用
    HTML内标签、换行
    HTML 头部详解
    单例模式
    const 指针的三种使用方式
  • 原文地址:https://www.cnblogs.com/nerrissa/p/5591293.html
Copyright © 2020-2023  润新知