Django 1.6.4 - 在admin中删除带有deferred字段的模型

时间:2015-09-29 09:47:39

标签: django django-models django-admin django-admin-actions

我在Django管理员中遇到了延迟字段的奇怪问题。这是模型的结构。

class LightweightManager(models.Manager):
    def get_query_set(self):
        return super(LightweightManager, self).get_queryset()\
            .defer('huge_field')\
            .filter(trash=False)


class MyModel(models.Model):
    # ...
    huge_field = jsonfield.JSONField()

    lightweight = LightweightManager()

    def delete(self, using=None):
        # ...
        self.trash = True

从管理员删除MyModel时,Web服务器超时。在开发服务器中它完成但显然需要很长时间。在删除确认管理页面上,我得到一个相关模型'MyModel_deferred_huge_field'(延迟字段)。据我所知,django.db.models.deletion.Collector中发生了一些不寻常的事情。我很感激你的建议。

0 个答案:

没有答案