我试图根据它的内联对象列出我的对象'更新时间。 这是我的models.py:
class Baslik(models.Model):
user = models.ForeignKey(User, null=True, blank=True)
title = models.CharField(max_length=50)
slug = models.SlugField()
timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
updated = models.DateTimeField(auto_now_add=False, auto_now=True)
active = models.BooleanField(default=True)
def __unicode__(self):
return str(self.title)
def get_absolute_url(self, ):
return reverse('baslik', args=[self.slug])
class Entry(models.Model):
user = models.ForeignKey(User, null=True, blank=True)
baslik = models.ForeignKey(Baslik, null=True, blank=True)
icerik = models.TextField(max_length=50000)
timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
updated = models.DateTimeField(auto_now_add=False, auto_now=True)
def __unicode__(self):
return str(self.icerik)
如您所见,我通过ForeignKey将Entry模型与Baslik模型连接起来。 我使用views.py的这一部分根据它们创建的时间列出对象:
def hepsi(request):
basliklar = Baslik.objects.filter(active=True).order_by('-updated')
return render_to_response("base.html",
locals(),
context_instance=RequestContext(request))
我怎样才能实现目标。任何意见都会有帮助。感谢。
答案 0 :(得分:0)
如果您想按照baslik的更新时间对条目进行排序,语法将为:
ORDER_BY(" -baslik__updated&#34)
注意双下划线。
答案 1 :(得分:0)
这个版本的hepsi功能有效。
def hepsi(request):
basliklar = Baslik.objects.filter(active=True).order_by('-updated')
gunlist = []
for i in basliklar:
entryler = i.entry_set.all()
ent1 = entryler.latest('id')
ent2 = ent1.updated
ent3 = str(ent2).split(" ")
zaman1 = date.today()
zaman2 = str(zaman1).split(" ")
zamangun = zaman2[0]
entgun = ent3[0]
if entgun == zamangun:
gunlist.append(i)
cta = {'basliklar': basliklar, 'entryler': entryler, 'ent1': ent1, 'ent2': ent2, 'entgun': entgun, 'zamangun': zamangun, 'gunlist': gunlist}
return render(request, "base.html", cta)