在浏览django的文档以获得详细的知识时,我忍受了“表级操作”和“记录级别操作”这个词。他们之间有什么区别?有人可以用例子向我解释这两个字吗?他们也有其他名字吗?
P.S我不是因为我觉得他们是相同的而是问他们的区别,但我觉得理解这种方式会更清楚。
答案 0 :(得分:2)
在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"
表级操作是对一组记录起作用的操作,当您为类定义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.
PS:我从django文档中获取了这些示例。
答案 1 :(得分:0)
我不知道Django人如何使用这些术语,但“记录级操作”应该是对一个或多个记录的操作,而“表级操作”应该表示整个表的操作。我不太清楚所有行上的操作应该是什么 - 也许两者都有,也许这取决于结果。
在Python中,“记录级别”的常用术语是“元素级”。对于Python内置函数,bool对集合进行操作:bool([0, 1, 0, 3])
= True。对于numpy数组,bool对元素进行操作(至少通常):`bool([0,1,0,2])= [False,True,False,True]。还比较[1,2,3] * 2 = [1,2,3,1,2,3]与[1,2,3] * 2 = [2,4,6]。
我希望这会有所帮助。看看它在上下文中是否有意义。