我想知道如何在完全加載到內存中後從數據運行查詢以防止它每次都訪問數據庫
這是我的模型
class empdb(models.Model):
empid = models.CharField(max_length=8,primary_key=True)
empname = models.CharField(max_length=255)
empdept = models.CharField(max_length=255)
class Meta:
ordering = ('empid',)
def __str__(self):
return self.empid
這就是我正在嘗試的
record = empdb.objects.all() ' This will load all data in "record"
現在如何從中讀取並根據我們的查詢提取數據
我正在嘗試下面的查詢來找出哪些員工是人力資源部門的一部分
dataset=backuprecord.filter(empdept='HR')
print(dataset)
現在這就是我陷入困境的地方。我得到的輸出很好,它確實列出了我得到的數據,但它的形式如下
<QuerySet [<empid: 10010>,<empid: 10121>,<empid: 12235>,<empid: 18110>]>
我想從上面的查詢集中取出 empid 和 empname
我該怎麼做?
我想要的是以下變量中的數據
for i in <length of query set>
foundempid[i] = ''' The Employee ID from the queryset Line
foundempname[i] = ''' The Employee Name
對此的任何幫助將不勝感激。
dataset=backuprecord.filter(empdept='HR')
在 中dataset
,您將獲得queryset。Django 進行 DB 查詢並使用 ORM 將其轉換為 Model 實例。實例的集合稱為查詢集。現在,當您想要獲取模型實例(表中單行的 ORM)時,您可以通過多種方式實現。在這裡,如果你想訪問 中的所有對象dataset
,你可以簡單地循環遍歷它,並且像每個對像一樣,你可以通過 獲取值<object>.attribute_name
。例如:
dataset=backuprecord.filter(empdept='HR')
for data in dataset:
print(data.emdid)
print(data.empname)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句