zoukankan      html  css  js  c++  java
  • 【AMAD】django-model-utils -- Django model使用的mixin和utils

    动机

    为django model系统提供一些可重用的mixin和utils.

    简介

    django-model-utils1为Django Model提供了下嘛几种分类的utils:

    • Field相关

      • StatusField: 一个CharField的子类,通过特定的Model类属性,来使用django的字段choices功能
      • MonitorField: 一个DateTimeField的子类,可以用来监控该model下的其它字段,在这个字段更新的时候,把monitorfield的值更新为当前时间
      • SplitField: 一个TextField子类,可以把文本划分为两部分,通过自定的切割符或者指定段落数来划分
    • Model相关:

      • TimeFrameModel:一个抽象基类,可以表示时间范围
      • TimeStampedModel: 一个抽象基类,子类可以获得两个自动更新的createdmodified字段
      • StatusModel: 将StatusField, MonitorField, QueryManager聚合使用的一个抽象基类
      • SoftDeletedModel: 加入一个is_removed字段,代表这条数据已经被删除
    • Model Manager相关:

      • InheritanceManager: 这个manager应该放在一个基类中,然后query的时候,返回的结果会自动变成子类的实例
      • JoinManager:JoinManager可以为你当前的queryset创建一个临时表。但是不如使用__inlookup
      • QueryManager: 这应该算一个manager factory。可以通过它来创建你要的自定义manager
      • SoftDeletableManager: 返回is_removed为False的数据
    • 其它功能:

      • Choices: 用于Field.choices的工具类
      • Field Tracker: 可以用来追踪一个model instance的最近改动(save之前)

    个人评分

    类型评分
    实用性 ⭐️⭐️
    易用性 ⭐️⭐️⭐️⭐️⭐️
    有趣性 ⭐️
  • 相关阅读:
    转载 :sql server 2005 无法删除数据库 "#Test",因为该数据库当前正在使用
    leetcode 1
    leetcode 2
    leetcode 242
    leetcode171
    leetcode 122
    leetcode 100
    算法:号码转换问题
    2014年10月29日 00:23 长沙
    算法:poj1066 宝藏猎人问题。
  • 原文地址:https://www.cnblogs.com/thomaszdxsn/p/amaddjangomodelutils--django-model-shi-yong-demixi.html
Copyright © 2011-2022 走看看