Django - 如何在同一模型的save方法中过滤数据

时间:2014-12-18 05:18:01

标签: python django django-models

我想使用相同的模型在save方法中过滤数据。

我们假设我有BestHotel模型

class BestHotel(models.Model):

    hotel_name = models.CharField(max_length=100)
    slug = models.SlugField(max_length=255,unique=True)


    def __unicode__(self):
        return self.hotel_name

    def save(self, *args, **kwargs):    
        if self.pk:
            ---- I wanna get matched data object.
                  But The below code is not allowing It saying
                  global name "BestHotel" is not defined 
                   **BestHotel.objects.get(slug=xxxx)** -------

       super(BestHotel, self).save(*args, **kwargs)

1 个答案:

答案 0 :(得分:2)

您可以使用self.__class__访问模型类:

self.__class__.objects.get(slug=xxxx)

虽然,我有一种强烈的感觉,如果你在django中做这样的smth,你可能会错过smth并且做错了。