我有两个模型,一个Event和一个suggestName。 suggestedName与Event有一个ForeignKey关系,以及一个名为'votes'的IntegerField。我想获得与活动相关联的前5个建议名称。
我的模特:
class Event(models.Model):
def __unicode__(self):
return unicode(self.id)
id = models.BigIntegerField(blank = 'TRUE', primary_key='TRUE')
version = models.IntegerField(default = 0)
views = models.IntegerField(default = 0)
created = models.DateTimeField(editable = False)
modified = models.DateTimeField()
trained = models.BooleanField(default = False)
type = models.SmallIntegerField(default = 0)
class suggestedName(models.Model):
def __unicode__(self):
return self.name
name = models.CharField(max_length=200, blank = 'TRUE', null = 'TRUE')
votes = models.IntegerField(default = 0)
event = models.ForeignKey(Event)
我认为我的观点是:
e = Event.objects.get(pk=event_id)
suggestedN = e.suggestedName_set.order_by('votes')[:5].reverse()
但我没有得到任何结果。
答案 0 :(得分:3)
尝试:
e.suggestedname_set.order_by('-votes')[:5]
或指定相关名称
class suggestedName(models.Model):
def __unicode__(self):
return self.name
name = models.CharField(max_length=200, blank = True, null = True)
votes = models.IntegerField(default = 0)
event = models.ForeignKey(Event, related_name='suggestions')
然后,
e.suggestions.order_by('-votes')[:5]