Ser*_*ity 3 python database django django-models
在查阅 django 的文档以收集详细知识时,我忍受了“表级操作”和“记录级操作”这两个词。它们之间有什么区别?谁能用例子向我解释这两个词?他们还有别的名字吗?
PS我并不是因为我觉得他们很相似而问他们的区别,但我觉得这样理解会更清楚。
在 Django 的上下文中,记录级操作是对单个记录的操作。一个例子是当您在模型中定义自定义方法时:
class Person(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
birth_date = models.DateField()
def baby_boomer_status(self):
"Returns the person's baby-boomer status."
import datetime
if self.birth_date < datetime.date(1945, 8, 1):
return "Pre-boomer"
elif self.birth_date < datetime.date(1965, 1, 1):
return "Baby boomer"
else:
return "Post-boomer"
Run Code Online (Sandbox Code Playgroud)
表级操作是对一组记录起作用的操作,其中一个示例是为类定义 ModelManager 时:
# First, define the Manager subclass.
class DahlBookManager(models.Manager):
def get_queryset(self):
return super(DahlBookManager, self).get_queryset().filter(author='Roald Dahl')
# Then hook it into the Book model explicitly.
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=50)
objects = models.Manager() # The default manager.
dahl_objects = DahlBookManager() # The Dahl-specific manager.
Run Code Online (Sandbox Code Playgroud)
PS:我从 django 文档中获取了这些示例。
| 归档时间: |
|
| 查看次数: |
397 次 |
| 最近记录: |