Django 外鍵正向查詢與反向查詢


Django_外鍵查詢和反向查詢

Django在數據庫建模的過程中,外鍵查詢和反向查詢方面的內容。
不多說,看例子

from django.db import models class Person(models.Model): name = models.CharField(max_length=64) age = models.IntegerField() tel = models.CharField(max_length=64) class Car(models.Model): owner = models.Foreignkey(Person, related_name='cars') name = models.CharField(max_length=64) price = models.FloatField() 

在上面的兩個表中,Person表是主表,Car是字表,Car表外鍵至Person表。
子表查詢主表:

car = Car.objects.get(id=1) # 查詢該車的車主 owner = car.owner 

主表查詢子表,即反向查詢:

Tom = Person.objects.get(id=1) # 查詢此人有多少車 # 方式一: # Django默認每個主表對象都有一個外鍵的屬性 # 可以通過它來查詢所有屬於主表的子表信息 # 查詢方式:主表.子表_set() # 返回值為一個queryset對象 Tom.Car_set().all() # 方式二: # 通過在外鍵中設置related_name屬性值既可 Tom.cars.all() 

另外,在新的需求突然提出的時候,在不改動原有查詢代碼的情況下,在表模型中添加此裝飾器裝飾過的方法既可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM