簡體   English   中英

Django通過集合查詢

[英]Django querying through sets

我是Django的新手,但我堅持要查詢多個集合。

我有三種模式;

class Project(models.Model):
    name = models.CharField(max_length = 100)

class AppointmentGroup(models.Model):
    name = models.CharField(max_length = 100) # not used in design.. delete when not used at the end of the project
    project = models.ForeignKey(Project)
    location = models.ForeignKey(Location)

class Appointment(models.Model):
    appointment_group = models.ForeignKey(AppointmentGroup)
    start_date = models.DateTimeField()
    end_date = models.DateTimeField()

現在,我想要一個返回的對象集,其中只包含在特定年份內具有約會的項目。 而且項目對象中的約會集對象僅包含該年的對象!

使用django查詢很容易做到嗎?還是我必須一個接一個地遍歷項目並檢查日期中的所有約會?

我猜想約會模型在某種程度上與您的項目相關,而您只是忽略了這一點。

您可能要使用lookups that span relationships rangelookups that span relationships

import datetime
start = datetime.date(2010, 1, 1)
end = datetime.date(2010, 12, 31)
projects_in_2010 = Projects.objects.filter(appointmentgroup__appointment__start_date__range(start, end))

嘗試這個

AppointmentGroup.objects.filter(appoinment_set__start_date__year=2011, appoinment_set__end_date__year=2011)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM