【问题标题】:Django order by inline's updated dateDjango按内联更新日期排序
【发布时间】:2014-09-05 18:18:32
【问题描述】:

我有两个模型。其中一个是有一个外键连接到另一个。这是我的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)

我使用此功能来显示今天添加的 baslik 以及今天添加的条目,但它只是这样做,而不是根据他们添加的时间进行排序。 功能:

def hepsi(request):
    basliklar = Baslik.objects.filter(active=True).order_by('-updated')
    gunlist = []
    zaman1 = date.today()
    zaman2 = str(zaman1).split(" ")
    zamangun = zaman2[0]

    for i in basliklar:
        entryler = i.entry_set.all()
        sayi2 = entryler.count()

        if sayi2>0:
            ent1 = entryler.latest('id')
            ent2 = ent1.updated
            ent3 = str(ent2).split(" ") 
            entgun = ent3[0]

            if entgun == zamangun:
                gunlist.append(i)

        if sayi2==0:
            baslik1 = i.updated
            baslik2 = str(baslik1).split(" ")
            baslikgun = baslik2[0]
            if baslikgun==zamangun:
                gunlist.append(i)

    cta = {'basliklar': basliklar, 'entryler': entryler, 'ent1': ent1, 'ent2': ent2, 'entgun': entgun, 'zamangun': zamangun, 'gunlist': gunlist, 'rast': rast}

    return render(request, "base.html", cta)

我想根据连接到它们的最后一个条目的更新时间对模板中的 Basliks 进行排序。 我怎样才能做到这一点?谢谢。

【问题讨论】:

    标签: python django django-views


    【解决方案1】:

    在添加入口函数时,我添加了这部分代码,它解决了。

    baslik.updated = entry.updated 
    baslik.save()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多