Sorry for the stupid question, but what's an @property? By the way, what I have now is below (there are also several other models).
I will try doing it your way now, although I don't understand the @property. class Trip(models.Model): title = models.CharField(maxlength="500", blank=True) logbook_entry = models.TextField(blank=True) cave = models.ForeignKey(Cave,blank=True,null=True) pushing = models.BooleanField(blank=True,null=True) rigging = models.BooleanField(blank=True,null=True) derigging = models.BooleanField(blank=True,null=True) science = models.BooleanField(blank=True,null=True) prospecting = models.BooleanField(blank=True,null=True) cavers = models.ManyToManyField(Caver,blank=True,null=True) start_date_time = models.DateTimeField() end_date_time = models.DateTimeField(blank=True,null=True) def timeUnderground(self): return self.end_date_time-self.start_date_time def __str__(self): return self.title+' | '+self.start_date_time.strftime('%D') class Admin: pass class QM(models.Model): finding_trip = models.ForeignKey(Trip, related_name='QMs_Found', edit_inline=models.STACKED) killing_trip = models.ForeignKey(Trip, related_name='QMs_killed', null=True,blank=True, edit_inline=models.STACKED) #the cave field is unneeded- go through trips #cave = models.ForeignKey(Cave, edit_inline=models.TABULAR, num_in_admin=3) number_in_year = models.IntegerField(core=True) GRADE_CHOICES=( ('A', 'A: Large obvious lead'), ('B', 'B: Average lead'), ('C', 'C: Tight unpromising lead'), ('D', 'D: Dig'), ('X', 'X: Unclimbable aven') ) grade = models.CharField(maxlength=1, choices=GRADE_CHOICES, core=True) location_description = models.TextField(blank=True) nearest_station = models.CharField(maxlength=400,blank=True) completion_description = models.TextField(blank=True) comment=models.TextField(blank=True) def __str__(self): QMnumber=str(self.finding_trip.start_date_time.year) +"-"+str(self.number_in_year)+self.grade Cave=str(self.finding_trip.cave) return str(QMnumber+" which is in cave "+Cave) class Admin: pass On Jul 12, 1:35 am, J Meier <[EMAIL PROTECTED]> wrote: > I might try setting up Trip without direct reference to the QMs, and > QMs with two references to Trip: > > class Trip(models.Model): > ... trip stuff ... > > class QM(models.Model): > found_during = models.ForeignKey(Trip, related_name=''found_qms") > killed_during = models.ForeignKey(Trip, null=True, blank=True, > related_name="killed_qms") > ... trip stuff ... > > and maybe a few convenience methods and properties: > > (in Trip): > @property > def live_qms(self): return self.found_qms.filter(killed_during=None) > > (in QM:) > @property > def status(self): return self.killed_during == None and "Live" or > "Dead" > > -Jim --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---