Skip to main content
 首页 » 编程设计

python之覆盖管理器时如何访问 Django 模型

2025年05月04日25artech

我正在重写共享管理器类中的“get”方法,但我不知道如何获取初始调用者。例如当我运行时:

Animal.objects.get() -or- Plant.objects.get() 

如何在不传递任何参数的情况下让“get”知道它是从 Animal/Plant 调用的?

这是我的引用代码:

class CommonManager(models.Manager): 
  def get(self, *args, **kwargs): 
     print ??? #how do I print Animal or Plant here? 
 
 
class CommonModel(models.Model): 
  objects = CommonManager() 
  #stuff 
 
class Animal(CommonModel): 
  #stuff 
 
class Plant(CommonModel): 
  #stuff 

请您参考如下方法:

看源码,好像是self.model。