本文介紹 django.db.models.Index.expressions
的用法。
聲明
Index.expressions
Django 3.2 中的新函數。
位置參數*expressions
允許在表達式和數據庫函數上創建函數索引。
例如:
Index(Lower('title').desc(), 'pub_date', name='lower_title_date_idx')
以降序對title
字段的小寫值創建索引,並以默認升序對pub_date
字段創建索引。
另一個例子:
Index(F('height') * F('weight'), Round('weight'), name='calc_idx')
為字段height
和weight
相乘的結果創建索引,並將weight
四舍五入到最接近的整數。
使用 *expressions
時需要
。Index.name
對 Oracle 的限製
Oracle 要求將索引中引用的函數標記為 DETERMINISTIC
。 Django 不驗證這一點,但 Oracle 會出錯。這意味著不接受
等函數。Random()
PostgreSQL 的限製
PostgreSQL 要求將索引中引用的函數和運算符標記為 IMMUTABLE
。 Django 不會驗證這一點,但 PostgreSQL 會出錯。這意味著不接受
等函數。Concat()
MySQL 和 MariaDB
MySQL < 8.0.13 和 MariaDB 將忽略函數索引,因為它們都不支持。
相關用法
- Python Django Index.include用法及代碼示例
- Python Int轉Bytes用法及代碼示例
- Python Django InlineModelAdmin.get_extra用法及代碼示例
- Python Django InlineModelAdmin.raw_id_fields用法及代碼示例
- Python InteractiveConsole runcode()用法及代碼示例
- Python InteractiveInterpreter runsource()用法及代碼示例
- Python InteractiveInterpreter runcode()用法及代碼示例
- Python IncrementalEncoder encode()用法及代碼示例
- Python Django InlineModelAdmin.get_max_num用法及代碼示例
- Python PIL Image.draft()用法及代碼示例
- Python PIL Image.thumbnail()用法及代碼示例
- Python PIL Image.new()用法及代碼示例
- Python PIL ImageOps.fit()用法及代碼示例
- Python Wand Image()用法及代碼示例
- Python PIL ImageDraw.Draw.rectangle()用法及代碼示例
- Python PIL ImageEnhance.Color() and ImageEnhance.Contrast()用法及代碼示例
- Python Itertools.zip_longest()用法及代碼示例
- Python PIL Image.getdata()用法及代碼示例
- Python Itertools.compress()用法及代碼示例
- Python PIL ImageFont.truetype()用法及代碼示例
- Python Itertools.count()用法及代碼示例
- Python PIL ImagePath.Path.tolist()用法及代碼示例
- Python PIL Image.transform()用法及代碼示例
- Python PIL Image.quantize()用法及代碼示例
- Python PIL Image.point()用法及代碼示例
注:本文由純淨天空篩選整理自djangoproject.com大神的英文原創作品 django.db.models.Index.expressions。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。