मैं की तरह तोDjango 1.7 बाईं बाहरी में शामिल होने
class Job(models.Model):
description = models.CharField(max_length=255)
user = models.ForeignKey(User)
date = models.DateField()
slot = models.CharField(max_length=10, choices=SLOT_CHOICES)
location = models.ForeignKey(Location)
objects = JobManager()
searches = geomodels.GeoManager()
class Meta:
verbose_name_plural = "Job"
unique_together = ('date', 'slot', 'user')
def __str__(self):
return "{0}-{1}".format(self.user.first_name, self.date)
class Applied(models.Model):
user = models.ForeignKey(User)
job = models.ForeignKey(Job, null=True, blank=True)
action_taken = models.BooleanField(default=False)
is_declined = models.BooleanField(default=False)
class Meta:
verbose_name_plural = "Job Applications"
unique_together = ('user', 'job',)
मैं एक तिथि सीमा के बीच सभी नौकरियों के लिए खोज और दिखाने के एक उपयोगकर्ता आवेदन कर सकते हैं कि क्या करना चाहते हैं एक मॉडल है, पहले से ही लागू किया गया है या मना कर दिया गया है। आवेदन जानकारी लागू मॉडल में है।
jobs = Job.searches.filter(**kwargs)\
.filter(date__range=(date_from, date_to),
visibility=VisibilityStatus.PUBLIC,
status=JobStatus.AVAILABLE)\
.prefetch_related('applied_set')\
.select_related('user__surgeryprofile__location')\
.order_by('date')
लेकिन मुझे यह काम नहीं मिल रहा है, यह डेटाबेस में लागू तालिका पर बाएं नहीं है। कोई सुझाव यह कैसे काम कर रहा है।
धन्यवाद
मुझे पूछने के लिए माफ कर दो, लेकिन एक आंतरिक शामिल पर्याप्त नहीं होगा? – e4c5
इनर में शामिल होने के केवल पंक्तियों को दोनों तालिकाओं में मौजूद लाएगा, मैं एक बाहर छोड़ दिया में शामिल होने के रूप में मैं तिथि सीमा और लागू मेज से पंक्तियों के बीच काम तालिका वाली सभी पंक्तियां ही उपयोगकर्ता पहले कि नौकरी के लिए आवेदन किया चाहते हैं और अगर इसके लिए किया गया चाहते हैं इंकार कर दिया। –
आपका कोड आप सही परिणाम (एक applied_set जो खाली हो सकता है के साथ फ़िल्टर्ड नौकरियों) देखते हैं, भले ही देना चाहिए नहीं मिलती है। "ज्यादातर मामलों में prefetch_related एक एसक्यूएल क्वेरी का उपयोग कर लागू किया जाएगा जो 'आईएन' ऑपरेटर का उपयोग करता है।" https://docs.djangoproject.com/en/1.7/ref/models/querysets/#prefetch-related – JimmyYe