Упорядочивание значения по умолчанию для m2m объектов промежуточным образцовым полем в Django

Можно также попытаться использовать кэширование, встроенное в ASP MVC:

Добавляют следующий атрибут к методу контроллера, который требуется кэшировать:

[OutputCache(Duration=10)]

В этом случае ActionResult этого будет кэшироваться в течение 10 секунд.

[еще 115] на этом здесь

8
задан pielgrzym 8 September 2009 в 11:11
поделиться

2 ответа

Вот грязный метод для достижения этой цели (посмотрите на Групповую модель):

class Person(models.Model):
    name = models.CharField(max_length=128)

    def __unicode__(self):
        return self.name

class Group(models.Model):
    name = models.CharField(max_length=128)
    _members = models.ManyToManyField(Person, through='Membership')
    @property
    def members(self):
        return self._members.order_by('membership__date_joined')

    def __unicode__(self):
        return self.name

class Membership(models.Model):
    person = models.ForeignKey(Person)
    group = models.ForeignKey(Group)
    date_joined = models.DateField()
    invite_reason = models.CharField(max_length=64)

Не удосужился создать декоратор свойства набора, но должно быть довольно легко имитировать установка исходного поля. Уродливый обходной путь, но, похоже, помогает.

4
ответ дан 6 December 2019 в 00:07
поделиться

Я думаю, это должно сработать:

class Membership(models.Model):
    ...

    class Meta:
        ordering = ['date_joined']
0
ответ дан 6 December 2019 в 00:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: